加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – fields_for中的数组列字段呈现…未呈现

发布时间:2020-12-17 02:05:10 所属栏目:百科 来源:网络整理
导读:数组作为数组保存在db中..此数组中的每个项目都应在fields_for中呈现为text_fields. (在我的带有Postgres DB的Rails 4应用程序中) 没有按预期呈现…请找你的建议. 守则如下: 资源迁移有: t.string :news_outlets,array: true 父帖子的_form.html %= form_f
数组作为数组保存在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>

谢谢

解决方法

text_field需要包含用于批量分配的属性名称.

<%= f.text_field :news_outlets,:placeholder => t('news_outlets.new_news') %>

你拥有它的方式,name属性不会是正确的,因此params不会是正确的,因此质量分配尝试不会从表单中获取新的数据分配.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读