親愛なる、開発者は、私のSQLテーブルであるルビーon Railsのモデル団体が問題
create_table "areas", :primary_key => "ndc", :force => true do |t|
t.string "townname", :limit => 256, :null => false
end
create_table "books", :primary_key => "ndc", :force => true do |t|
t.integer "booked", :null => false
t.integer "free", :null => false
end
class Book < ActiveRecord::Base
self.primary_key = "ndc"
has_one :area, :foreign_key => 'ndc'
end
class Area < ActiveRecord::Base
self.primary_key = "ndc"
belongs_to :book , :foreign_key => 'ndc'
end
をnubie私は本番モードでは、このようなコード
@books = Book.paginate :page => params[:page] || 1, :per_page => 10
@books.each do |booking|
p booking.area
p booking
end
を持っている」doesnのt仕事、予約。エリアは無名です。何ができますか?
config.cache_classes場合エリアcashe_classes =真
はareas
を選択した場合。* areas
(areas
.ndc = NULL)LIMIT 1 なく外からそうbooking.areaは このようなクエリを生成する=真
をnilをbecamesクラスを換金することはareas
を選択 * areas
(areas
.ndc = 30)LIMIT belongs_toのを除去することにより、FIXED 1
FROM:ブック、:FOREIGN_KEY => 'NDC' F ROMエリアクラス。
Bookクラスにself.primary_key = "ndc"を追加しましたが、今協調しているようです。ありがとうございます – Fivell
はい、主キーフィールドに "id"以外の名前を使用する場合はいつでも、主キーを指定するActiveRecordクラスにステートメントを挿入する必要があります。 –
ok私の質問 – Fivell