modelUser
とmodel があるとしますChallenge
。
User
チャレンジのスーパーバイザーになることができます。したがって、ユーザーとChallenge
のbelongs_to
関係があります。
リレーションは で次のように宣言されますchallenge.rb
。
class Challenge < ActiveRecord::Base
belongs_to :supervisor, :class_name => "User", :foreign_key => "user_id"
結果は次のとおりschema.rb
です。
create_table "challenges", :force => true do |t|
t.string "title"
t.text "description"
t.datetime "start_date"
t.datetime "end_date"
t.string "state"
t.integer "count"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
# Notable line:
t.integer "user_id"
end
スキーマ内の外部キーに名前を付ける必要がありますsupervisor_id
かuser_id
?