레일스 가이드를 살펴 보았지만 유효성 검사와 마이그레이션을 거친 후에 연관성을 고수했습니다. 그래서 저는 Person이 많은 직업을 가질 수있는 Job and Person 모델을 가지고 있습니다. 현실적으로는 many to many가 많을 거라는 것을 압니다. 그러나 먼저이 일을 처리하려고합니다.레일즈 어소시에이션으로 레코드 저장
class Job < ActiveRecord::Base
belongs_to :people
end
및
class Person < ActiveRecord::Base
has_many :jobs
end
다음은 스키마
ActiveRecord::Schema.define(:version => 20110108185924) do
create_table "jobs", :force => true do |t|
t.string "occupation"
t.boolean "like"
t.datetime "created_at"
t.datetime "updated_at"
t.integer "person_id"
end
create_table "people", :force => true do |t|
t.string "first_name"
t.string "last_name"
t.datetime "created_at"
t.datetime "updated_at"
end
end
몇 가지 내가 다음 j = Job.first; j.Person
을 할 수 있나요입니까? 그러면 j와 관련된 Person 객체에 액세스 할 수 있습니다. 나는 guide.rubyonrails.org에서 그것을 찾을 수 없었지만, 마이그레이션과 유효성 검사에 대한 이해를 돕는 데 매우 도움이되었습니다.
감사
PS, 더 많은 링크가 좋은 것 사물의 종류의 커버 어떤 자습서가있는 경우.
내가 j = Job.new 일 경우; j.occ = "회계사"; j.like = false; j.person_id = 1; j.save 그러면 j.Person으로 이동하여 액세스하려고합니다. 메소드 오류가 없습니다. – tshauck
개인 소문자 p 여야합니다. try j.person –
또한 id = 1 인 Person 객체가 있는지 확인합니다. 그렇지 않은 경우 j.person은 nil을 반환합니다. –