ruby-on-rails – 如何为rails-settings插件创建表单
发布时间:2020-12-16 20:54:03 所属栏目:百科 来源:网络整理
导读:我有一个Rails 3应用程序,需要一些用户定义的设置.我想使用这个 https://github.com/ledermann/rails-settings插件.我让它在rails控制台中工作.但我无法在表格中工作.我是否使用fields_for attr_accessible?如果是这样我没有运气. 我需要为两个模型添加设置
我有一个Rails 3应用程序,需要一些用户定义的设置.我想使用这个
https://github.com/ledermann/rails-settings插件.我让它在rails控制台中工作.但我无法在表格中工作.我是否使用fields_for& attr_accessible?如果是这样我没有运气.
我需要为两个模型添加设置: 例如,特定于用户的设置, user = User.find(123) user.settings.color = :red user.settings.color # => :red user.settings.all # => { "color" => :red } (以上在控制台中对我来说很好.) 但我需要通过标准的Web表单来管理它们.我很想知道其他人是如何处理这件事的. 谢谢. 解决方法
我所做的是将动态setter / getter添加到我的User类中
class User < ActiveRecord::Base has_settings def self.settings_attr_accessor(*args) args.each do |method_name| eval " def #{method_name} self.settings.send(:#{method_name}) end def #{method_name}=(value) self.settings.send(:#{method_name}=,value) end " end end settings_attr_accessor :color,:currency,:time_zone end 这样,您就可以像使用User模型的任何其他属性一样使用“color”.此外,添加更多设置非常简单,只需将它们添加到列表中即可 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |