2010-07-30 40 views
1

當我嘗試將它們嵌套在fields_for表單中時,我遇到了查看「類別」複選框列表的問題。如何查看嵌套模型中的HABTM複選框列表

我有'has_many''照片''has_and_belongs_to_many''類別''產品'模型。我非常確定我的模型中的所有關聯都是正確的,我的「照片」和「類別」關係的關聯表也是正確的。

嵌套只是「產品」內「照片」的作品對我來說:

<%= form_for(@product) do |f| %> 

    <div class="field"> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
    </div> 

    <div class="field"> 
    <% f.fields_for :photos do |builder| %> 
      <%= builder.label :name, "Photo name" %> 
      <%= builder.text_field :name %> 
     <% end %> 
    </div> 

    <div class="actions"> 
    <%= f.submit %> 
    </div> 
<% end %> 

但我不能與複選框添加「類別」的模式。以下是不起作用的:

<%= form_for(@product) do |f| %> 

     <div class="field"> 
     <%= f.label :name %><br /> 
     <%= f.text_field :name %> 
     </div> 

     <div class="field"> 
     <% f.fields_for :photos do |builder| %> 
       <%= builder.label :name, "Photo name" %> 
       <%= builder.text_field :name %> 

       <div class="field"> 
        Categories: 
        <% for category in Category.find(:all)%> 
         <%= check_box_tag "photo[category_ids][]", category.id, @photo.categories.include?(category) %> 
         <%= category.name %> 
        <% end %> 
       </div> 

      <% end %> 
     </div> 

     <div class="actions"> 
     <%= f.submit %> 
     </div> 
    <% end %> 

check_box_tag和騎自行車通過類別列表時缺少一個窗體幫助器正在刺激我。任何人都可以幫忙嗎?謝謝。

更新:我可以得到它與這個選擇框工作,但我試圖讓它使用複選框工作:

​​
+0

相關的相關信息的工作,也許這可以讓你的啓發:HTTP:// railscasts。 com/episodes/17-habtm-checkboxes – giraff 2010-07-30 18:15:19

+0

因此,一個產品可以有很多照片,而這些照片又可以有很多類別。我遇到了類似的事情。能夠顯示覆選框但數據不會在創建或編輯時保留。爲了讓他們展示,我相信你必須將'@ photo.categories.include?'更改爲'@ product.photos.first.include?'從那裏開始,我不確定要去哪裏。這就是爲什麼我「評論」而沒有「回答」。 – Tass 2012-03-01 04:36:11

回答

相關問題