使用嵌套属性避免has_and_belongs_to_many的多个复选框表单 - Rails

时间:2012-07-29 11:47:00

标签: ruby-on-rails checkbox partial nested-attributes has-and-belongs-to-many

我是铁杆新手,并且在复杂形式的最佳实践中遇到困难。

我有3层深嵌套属性表单。用户>收件人> Gift_profile。

我想为_gift_profile_fields创建一个部分,这样我就可以在网站周围使用多种形式的字段,而不是重复自己。它们位于层次结构的不同级别。

一直工作正常,直到我添加check_box_tag,我手动指定HABTM关系的名称与另一个名为Sport的模型,has_and_belongs_to_many礼物配置文件。

<%= f.label :gender, "Gender" %>
<%= f.select :gender, options_for_select(GiftProfile::GENDERS), :include_blank => true %>

<% for sport in Sport.find(:all) %>
<div>
 <%= check_box_tag "recipient[gift_profile_attributes][sport_ids][]", sport.id, @gift_profile.sports.include?(sport) %>
 <%= sport.sport %>
</div>

表单完美无缺,但显然只适用于收件人表单。它无法在我认为我需要的其他表单位置上工作:

"user[recipient_attributes][gift_profile_attributes][sport_ids][]"

是否有帮助器或动态更新此方法以便我可以继续在所有表单上使用partial? check_box_tag是最好的方法吗?还是有另一个铁路助手?

一位朋友建议我使用助手根据控制器生成名称。

0 个答案:

没有答案