Ruby on rails //需要特定操作的特定参数

时间:2014-09-15 10:08:55

标签: ruby-on-rails validation ruby-on-rails-4

我是rails的新手,我正在尝试使用一些必填字段创建更新现有记录的操作。现在我得到了类似的东西:

def assembling_params
      params.require(:device).permit(:assembling_time, :operator_assembling_name)
end

现在它会检查我的设备参数是否存在,并且只列出2个属性白名单并且它正常工作。 但是,如何才能将我的操作所需的这2个属性放入? (我不想把它放在模型验证中,因为当我创建我的对象时这些属性不存在) 感谢

2 个答案:

答案 0 :(得分:1)

您可以根据需要指定任意数量。

这可能看起来很难看,但它确实起到了作用。

def assembling_params
  device_params = params.require(:device).permit(:assembling_time, :operator_assembling_name)
  device_params.require(:assembling_time)
  device_params.require(:operator_assembling_name)
  device_params
end

答案 1 :(得分:0)

在适当的控制器中使用:

before_filter :validate_params

方法:

def required_params
[:some_attribute, :another_attribute]
end

def validate_params
unless (require_params - params.keys).count.zero?
  # do something
end