2
我正在使用a有很多通過關聯,因此一篇文章可以'保存'到很多部分,並且該關係稱爲位置。在位置表中還有一個'默認'列(布爾值),這允許用戶指出哪個部分是默認部分。Rails 3 - 帶有a的嵌套表單與複選框有很多關聯
下面是型號:
class Article < ActiveRecord::Base
has_many :locations
has_many :sections, :through => :locations
def default_location
self.sections.where('locations.default = 1').first
end
end
class Location < ActiveRecord::Base
belongs_to :article
belongs_to :section
end
class Section < ActiveRecord::Base
has_many :locations
has_many :articles, :through => :locations
end
所以在我看來:
<%= form_for(@article) do |f| %>
...
<p class="field">
<h3>Locations</h3>
<ul>
<% @sections.each do |section| %>
<li><%= radio_button_tag ???, section.id, :checked => @article.default_location == section %> <%= check_box_tag 'article[section_ids][]', section.id, @article.section_ids.include?(section.id), :id => dom_id(section) %><%= label_tag dom_id(section), section.name %></li>
<% end %>
</ul>
</p>
...
<% end %>
到目前爲止,我可以保存和更新的地點很好,但我不知道如何分配默認領域保存到每個位置。我爲每個部分添加了一個單選按鈕,因此用戶可以選擇默認值,但我不確定如何將它們連接在一起。
任何想法將非常感激!謝謝。
感謝您的回覆。帶有複選框和單選按鈕的想法是每個部分都顯示一個複選框和單選按鈕,允許用戶使用複選框選擇多個部分,並使用單選按鈕將其中一個部分設置爲默認部分。單選按鈕需要共享相同的名稱(組),以便只能選擇一個名稱。 – Mike 2010-12-20 08:18:03