没有名称模型的参数

时间:2013-03-17 11:40:35

标签: ruby-on-rails routing

我有一个这样的模型:

class Attribute < ActiveRecord::Base
  attr_accessible :name
end

和后期行动中的参数:

name='foo' (not attribute[name])

在创建操作中,我可以像这样创建属性:

attribute=Attribute.new(:name => params[:name])

如何告诉rails解析每个参数,比如模型属性?

attribute=Attribute.new(params[:attribute])

1 个答案:

答案 0 :(得分:1)

假设您无法以常规方式修改表单以提交参数,您可以在创建之前通过编辑参数在控制器中执行此操作:

params[:attribute][:name] = params[:name]
attribute=Attribute.new(params[:attribute])

或者如果你有很多你想要属性的参数,你可以使用:

attribute=Attribute.new(Hash.new(:attribute => params))