Às vezes, temos configurações vinculadas ao modelo e podemos precisar usar o formulário para atualizar as configurações à medida que atualizamos os atributos regulares. A seguir está o truque.
Primeiro, podemos colocar os seguintes códigos em um arquivo .rb em algum lugar dentro do lib
diretório.
class ActiveRecord::Base
def self.has_settings_on(*args)
include RailsSettings::Extend
args.each do |setting_name|
attr_accessible setting_name
define_method(setting_name) { self.settings.send(setting_name) }
define_method("#{setting_name}=") { |value| self.settings.send("#{setting_name}=", value) }
end
end
end
Então, precisamos carregar esse arquivo rb colocando um require em algum lugar dentro dele /config/initializers
.
Depois disso, nos modelos com configurações vinculadas. Podemos simplesmente usar o método has_settings_on
para configurações específicas. Este método irá declarar as configurações, bem como colocá-las na attr_accessible
lista.
Esteja ciente de que estou usando rails-settings-cached . Se você estiver usando outra versão, certifique-se de alterar os códigos para caber.