Truque para usar o formulário para atualizar as configurações de trilhos vinculadas ao modelo

À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 libdiretó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_onpara configurações específicas. Este método irá declarar as configurações, bem como colocá-las na attr_accessiblelista.

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.