2011-02-06 4 views
0

사용자가 선택할 수있는 드롭 다운을 넣어야 할뿐만 아니라 몇 가지 유효성 검사를 수행 할 필요가있는 것을 제외하고는 지금까지 제대로 작동하는 중첩 된 양식을 만들려고 시도했지만 아무것도 나오지 않는 것 같습니다. 양식의 적절하고 내가 뭘하려고 상관없이 오류가 계속.중첩 된 양식 내의 옵션

3 가지 모델. --configuration

has_many :configoptions 
    accepts_nested_attributes_for :configoptions 

--configoption

belongs_to :configuration 
    has_many :items 

지금 항목

belongs_to :configoption 
    scope :sorted, order('items.position ASC') 

, 지금까지 내가 configoptions 통해 반복, 중첩 된 양식을 만드는거야,하지만 각 옵션이 여러 개있을 수 있습니다. 그래서이 경우에 해당 옵션에 대한 드롭 다운을 만들고 싶습니다. 내보기에서

는 내가 가지고 : 항목 :

<p> 
<th>Elements</th> 
<th>Quantity</th> 
</p> 
<%= form_for @config, :url => {:action => 'show', :id => @config.id} do |f| %> 
    <%= f.fields_for :configoptions do |fp| %> 
    <p> 
     <% if :items.count > 1 %> 
     <%= fp.text_field :name %> 
     <% else %> 
     <% fp.select(:items, :name)%> 
     <% end %> 
    <%= fp.text_field :quantity %> 
    </p> 
    <% end %>  
    <%= f.submit %> 
<% end %> 

나는 그것이 계산하지 수 있다는 것을 말해 분명히 오류가 발생합니다.

내가 어떻게이 작업을 할 수 있다고 생각하니?

감사합니다.

< % = form_for @config, : url => {: action => 'show', : id => @ config.id} do | f | %> < % = f.fields_for : 구성 옵션 do | fp | %>

<퍼센트 = fp.text_field : 아이디 %> <퍼센트 = fp.text_field 이름 %> <% = fp.text_field : 수량 %>

<% 단부 %>
<퍼센트 = f.submit %> < %

답변

0

좋아, 내가 알아 낸 것 같아, 적어도 지금 내가 원하는 것을하고있는 것 같다.

드롭 다운을 만들 수 있도록 설정의 인스턴스를 중첩 된 양식 자체로 전달하도록보기를 수정했습니다.

<% for configoption in @config.configoptions %>  
    <%= f.fields_for :configoptions, configoption do |fp| %> 
    <p> 
     <% if configoption.items.count > 1 %> 
     <%= fp.select (:name, options_from_collection_for_select(configoption.items.sorted, 'name', 'name'))%> 
     <% else %>