Ruby on rails RubyonRails//需要特定的参数来执行特定的操作

Ruby on rails RubyonRails//需要特定的参数来执行特定的操作,ruby-on-rails,validation,ruby-on-rails-4,Ruby On Rails,Validation,Ruby On Rails 4,我是rails新手,我正在尝试创建一个操作,用一些必填字段更新现有记录。现在我得到了这样的东西: def assembling_params params.require(:device).permit(:assembling_time, :operator_assembling_name) end 现在它检查我的设备参数是否存在,并且只列出2个属性,并且它正在工作。 但是,我如何才能将这两个属性放在我的操作所需的位置呢?(我不想将其放入模型验证中,因为创建对象时这些属性不存在)

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

def assembling_params
      params.require(:device).permit(:assembling_time, :operator_assembling_name)
end
现在它检查我的设备参数是否存在,并且只列出2个属性,并且它正在工作。 但是,我如何才能将这两个属性放在我的操作所需的位置呢?(我不想将其放入模型验证中,因为创建对象时这些属性不存在)
感谢您在适当的控制器中使用:

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

您可以指定任意数量的需求

这可能看起来很难看,但它确实管用

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

正是我想要的,非常感谢塞吉奥!