레일스에서 응용 프로그램을 만드는 데 문제가 있습니다.레일에 has_many 관계 설정
이 응용 프로그램에는 회사를 나타내는 모델과 제품을 나타내는 모델이라는 두 가지 모델이 있습니다. 각 회사는 0 개 이상의 제품을 판매하고 있으며 모델에서 이러한 관계를 포착하려고합니다. 여기에 지금까지있어 무엇 :
script/generate scaffold company name:string product_id:integer
script/generate scaffold product name:string
나는 각 회사가 여러 제품을 가질 수 있음을 보여 회사의 모델에 다음 줄을 추가 :
내가 발전기를 실행하여 모델을 생성
belongs_to :company
I :
has_many :products
나는 제품 모델에 다음 라인을 추가 YAML 파일에 샘플 데이터를 만들었습니다.
microsoft:
name: Microsoft
product_id: [1, 3]
google:
name: Google
product_id: [2, 4]
그리고 제품에 대한 샘플 데이터는 다음과 같습니다 : 회사에 대한 샘플 데이터입니다 그때 나는 시도하고
rake db:fixtures:load
: 다음 샘플 데이터를로드
word:
id: 1
name: Word
earth
id: 2
name: Earth
excel:
id: 3
name: Excel
chrome:
id: 4
name: Chrome
회사보기에있는 회사의 모든 제품을 인쇄하려면 :
<% if @company.product_id %>
<% for product in @company.product_id %>
<tr>
<td><%=h product.name %></td>
</tr>
<% end %>
<% end %>
이것은 오류가 발생하는 곳입니다. 어떤 아이디어? 문제가 뭔지 잘 모르겠습니다. 내가 모델을 생성하거나 관계를 구축하는 방법에있을 수 있다는 것을 모두 알고 있습니다. 또는 뷰에서 정보를 인쇄하려고 시도하는 중일 수도 있습니다.
그건 의미가 있습니다. 그러나 어쨌든 방정식의 "한쪽"에 키를 놓고 싶다면 아마도 키 목록을 만들어 이것을 표현하는 방법이 있을까요? – Mark
기본 RDBMS 디자인은 일대 다의 "many"측면에 외래 키가 필요합니다. '[something]의 목록'은 최신 데이터베이스의 열 유형이 아니기 때문입니다. 이것은 Rails와는 아무런 관련이 없습니다. – ScottJ
글쎄, 정말로 정말로하고 싶다면 ActiveRecord.serialize : http://rails.rubyonrails.org/classes/ActiveRecord/Base.html#M002284 하지만 그것은 당신을 해칠 것이고 매우 될 것입니다. 어려운. – kikito