数组文件以db格式保存为数组..此数组中的每个项目都应在fields_for中呈现为text_fields。 (在我的带有Postgres DB的Rails 4应用程序中)
未按预期呈现...请找你的建议。
守则如下:
资源迁移有:
t.string :news_outlets, array: true
父帖子的_form.html
<%= form_for [@post, @post.declare_victory], :html => {} do |f| %>
<%= f.hidden_field :post_id, value: @post.id %>
<%= f.fields_for :news_outlets do |news_outlet| %>
<%= render 'news_outlet_fields', f: news_outlet %>
<div>
<%= link_to_add_item t('add_news'), news_outlet, '/news_outlet_fields', 'news_outlets'%>
</div>
<% end %>
<% end %>
DeclareVictory中的控制器操作
def create
@declare_victory = @post.build_declare_victory declare_victory_params
@declare_victory.user = current_user
@declare_victory.save
redirect_to @post, notice: t('success')
end
_news_outlet_fields.html部分呈现
<div class="form-group">
<%= f.text_field '', id: 'declare_victory_news_outlets', :class => 'form-control', :placeholder => t('news_outlets.new_news') %>
</div>
由于
答案 0 :(得分:1)
text_field
需要包含质量分配的属性名称。
<%= f.text_field :news_outlets, :class => 'form-control', :placeholder => t('news_outlets.new_news') %>
你拥有它的方式,name
属性不会是正确的,因此params不会是正确的,因此质量分配尝试不会从新的数据分配中获得形式。