如何在范围内引用belongs_to关联?

发布于 2024-11-01 06:42:45 字数 201 浏览 0 评论 0原文

#!ruby
class Car < ActiveRecord::Base
  belongs_to  :user
end

@cars = Car.where(:user_id => current_user.id).limit(10)

我想创建一个范围,如何在范围中使用关联 :user ?

(导轨3)

#!ruby
class Car < ActiveRecord::Base
  belongs_to  :user
end

@cars = Car.where(:user_id => current_user.id).limit(10)

I want to create a scope, how can I use the association :user in the scope?

(rails3)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云淡风轻 2024-11-08 06:42:45

因此,在您的模型中:

scope :foo, lambda {|u| where( :user_id => u ).limit(10) }

...然后您可以使用以下命令从控制器调用:

Car.foo(current_user)

So, in your model:

scope :foo, lambda {|u| where( :user_id => u ).limit(10) }

...which you can then call from your controller with:

Car.foo(current_user)
删除→记忆 2024-11-08 06:42:45

尝试:

Car.join(:user).where(:user_id => current_user.id).limit(10)

更新:

模型中

def self.with_user(user)
  join(:user).where(:user_id => user.id)
end

在控制器的

Car.with_user(current_user).limit(10)

Try:

Car.join(:user).where(:user_id => current_user.id).limit(10)

Update:

in your model

def self.with_user(user)
  join(:user).where(:user_id => user.id)
end

in your controller

Car.with_user(current_user).limit(10)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文