我一直在rails中使用普通的Ruby表单对象,但为了保持我的代码组织,我最终不得不为它们添加大量的命名空间。所以我会有一个表格:
class User::Registration::NewForm
extend Forwardable
extend ActiveModel::Naming
extend ActiveModel::Callbacks
include ActiveModel::Conversion
include ActiveModel::Validations
...
end
令人烦恼的是,我的表格的param_key变得有点令人生畏,例如user_registration_new_form
我想以某种方式覆盖这一点,我想我需要使用model_name
(http://apidock.com/rails/ActiveModel/Naming/param_key/class)中的param_key
和/或ActiveModel::Naming
方法。但我无法让它发挥作用。
是否有人能够成功覆盖模型的默认param_key?
答案 0 :(得分:4)
model_name
方法,然后返回一个ActiveModel::Name
对象。
类似于:
self.model_name
ActiveModel::Name.new(User)
end