我是rails的新手,我正在尝试使用一些必填字段创建更新现有记录的操作。现在我得到了类似的东西:
def assembling_params
params.require(:device).permit(:assembling_time, :operator_assembling_name)
end
现在它会检查我的设备参数是否存在,并且只列出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