【问题标题】:How do I create a blacklist/whitelist for finding Rails model records?如何创建用于查找 Rails 模型记录的黑名单/白名单?
【发布时间】:2011-04-09 08:56:03
【问题描述】:

我想创建一个模型“白名单”来构建我不希望在我的主模型“用户”中显示的用户列表。

示例控制器

定义索引 @users = User.find(:all) #这些要在模型中后台过滤 结尾

示例模型

类用户 ActiveRecord::Base has_many :白名单 def self.find #添加一些将在白名单模型中查找项目并从用户模型中的 find(:all) 中过滤这些匹配项的内容。 结尾

我希望这是有道理的。谢谢您的帮助。

【问题讨论】:

  • 恕我直言,您不需要为此使用新模型。只是一个具有 where 方法的新方法(如果您使用的是 rails 3)
  • 遗憾的是,我正在使用来自 Ubuntu 的 repo rails,它看起来像 2.2.3
  • 看起来 where 方法将与我找到的范围方法一起使用(链接到 api 在我的答案中的评论中)。我只需要在不破坏任何东西的情况下以某种方式升级铁轨。

标签: ruby-on-rails ruby model filter find


【解决方案1】:

您可以使用named_scope

所以在你的用户模型中:

named_scope :whitelist, :conditions => { :awesome => true }

然后在你的控制器中:

User.whitelist

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-03
  • 1970-01-01
相关资源
最近更新 更多