【问题标题】:How do I filter through an associated resource column using a named_scope?如何使用 named_scope 过滤关联的资源列?
【发布时间】:2010-12-14 06:15:52
【问题描述】:

我构建了一个 Ruby on Rails 应用程序,允许用户跟踪他们的锻炼。

User has_many :workouts

Workout belongs_to :user

我正在尝试仅呼叫男性用户的锻炼。如何为Workout.rb 编写命名范围以仅调用男性用户的锻炼?

在我的例子中,user.sex 列是一个收集MaleFemale 的字符串。

我正在为这个特定的应用程序使用 rails 2.3.8。

【问题讨论】:

    标签: ruby-on-rails ruby associations named-scope


    【解决方案1】:

    试试这个:

    class Workout
    
      belongs_to :user
      named_scope :all_male,   :joins => :user, 
                               :conditions => ["users.sex = ?", "Male"]
    
      named_scope :all_female, :joins => :user, 
                               :conditions => ["users.sex = ?", "Female"]
    
    end
    

    现在您可以将作用域用作:

    Workout.all_male    
    Workout.all_female
    

    【讨论】:

    • 漂亮,谢谢。很高兴再次遇到你 KandadaBoggu。过去你对我帮助很大。
    猜你喜欢
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 2019-06-16
    • 2012-12-18
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    相关资源
    最近更新 更多