我正在尝试根据其父帐户将attr_accessible
添加到用户模型。我知道用户类实例还没有访问其父级,但我无法弄清楚如何执行此操作。任何建议都会很棒。
这就是我让strong_params
工作的方式,并希望在用户模型中做类似的事情(或做更好的事情)。
#appilcation_controller
...
def config_permitted_parameters
...
devise_parameter_sanitizer.for(:account_update) { |u| u.permit(*user_attributes)}
end
def user_attributes
attrs = [:name, :email, :password, :password_confirmation, :current_password, :primary_account, :account_id]
@account.user_attributes.each do |att|
attrs << att[0].to_sym
end
attrs
end
这就是现在有效的方法:
#User.rb
%w[no_call_list informal_name].each do |key|
attr_accessible key
store_accessor :properties, key
scope "has_#{key}", lambda { |value| where("properties @> hstore(?, ?)", key, value) }
end
这就是喜欢的工作方式:
#User.rb
#@account.user_attributes.each do |key|
#current_user.account.user_attributes.each do |key|
attr_accessible key
store_accessor :properties, key
scope "has_#{key}", lambda { |value| where("properties @> hstore(?, ?)", key, value) }
end