一个数组文件保存在数据库中作为数组..这个数组中的每个项目都应该在 fields_for 中呈现为 text_fields。 (在我的带有 Postgres 数据库的 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 中的 Controller 操作
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>
谢谢
最佳答案
text_field
需要包含属性名称才能进行批量分配。
<%= f.text_field :news_outlets, :class => 'form-control', :placeholder => t('news_outlets.new_news') %>
按照您的方式,name
属性不正确,因此参数不正确,因此批量分配尝试不会在新分配来自表单的数据。
关于ruby-on-rails - fields_for 中的数组列字段呈现...未呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18538184/