ruby-on-rails - current_user 的 Rails 关联

标签 ruby-on-rails ruby-on-rails-3 associations

我前段时间读到这篇文章:http://pivotallabs.com/users/nick/blog/articles/275-advanced-proxy-usage-part-i这是在谈论 AR 代理等。

作者指出我现在的问题是什么。

本例将对其进行说明。

class Gallery
  has_many :images, :class_name => 'Image'
  has_many :my_images, :class_name => 'Image' #, :conditions => "images.user_id == current_user.id" # FIX THIS
end

和这里
class Image
  belongs_to :user
  belongs_to :gallery
end

注意:我使用的是 PostgreSQL

所以当你访问 我的 所有带有画廊的图像:Gallery.first.includes(:my_images)
如果我想返回所有图像:Gallery.first.includes(:images)
那么现在如何将当前用户传递给has_many中的条件?

编辑
User
  has_many :images
  has_many :galleries, through: :images

最佳答案

如果我理解得很好,你想得到类似的东西:

current_user.galleries.first.images

如果是这样,您只需要通过第三个模型(可能名为 UserGallery)在 User 和 Gallery 之间创建一个 has_many 关联。

更多信息有很多通过:

http://guides.rubyonrails.org/association_basics.html#the-has_many-through-association

关于ruby-on-rails - current_user 的 Rails 关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9676311/

相关文章:

ruby-on-rails - 如何避免通过关联在 has_many 连接表中创建重复记录?

ruby-on-rails - rails 3.1 has_many :through extra field in join model

ruby-on-rails - 更好的关联性能

ruby-on-rails - rails 3 中的值没有更新

ruby-on-rails-3 - 在其中找不到 unicorn (>= 0)

ruby-on-rails - Rails 路由可在单个应用程序上处理多个域

ruby-on-rails-3 - 在rails中更新页面而不持续刷新

mysql - 如何测试不同时区的数据库记录?

ruby-on-rails - Rails 3 UJS 和 XHTML

ruby-on-rails - 为什么所有的 Active Record 都讨厌?