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

ruby-on-rails – 如何访问嵌套参数

发布时间:2020-12-16 19:58:08 所属栏目:百科 来源:网络整理
导读:我想得到一些嵌套参数.我有一个订单有很多项目,这些项目都有一个类型.我想从controller create方法获取type_id参数. @order = Order.new(params[:order])@order.items.each do |f| f.item_type_id = Item_type.find_by_name(f.item_type_id).idend 原因是我
我想得到一些嵌套参数.我有一个订单有很多项目,这些项目都有一个类型.我想从controller create方法获取type_id参数.
@order = Order.new(params[:order])
@order.items.each do |f|
  f.item_type_id = Item_type.find_by_name(f.item_type_id).id
end

原因是我希望用户能够在视图中创建新的item_types.当他们这样做时,我使用AJAX调用将它们添加到db.当他们发布表单时,我在item_type_id参数中获取item_type的名称,并且我想找到正确的item_type并将该ID设置为

解决方法

要访问params中的嵌套字段,请执行以下操作:
params[:order][:items_attributes].values.each do |item|
  item[:type_id]
end if params[:order] and params[:order][:items_attributes]

如果已经声明了正确的关联,并且accept_nested_attributes_for,以上解决方案将工作.

class Order < ActiveRecord::Base
  has_many :items
  accepts_nested_attributes_for :items,:allow_destroy => true
end

class Item < ActiveRecord::Base
  belongs_to :order
end

(编辑:李大同)

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

    推荐文章
      热点阅读