ruby-on-rails – 如何为rails-settings插件创建表单

我有一个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”.此外,添加更多设置非常简单,只需将它们添加到列表中即可

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...