【发布时间】:2012-03-10 11:00:44
【问题描述】:
我正在使用 has_many :through 使用名为 list_items 的传递在两个模型之间创建关联:
user.rb:
has_many :list_items
has_many :wishes, :through => :list_items
wish.rb:
has_many :list_items
has_many :users, :through => :list_items
list_item.rb:
belongs_to :user
belongs_to :wish
这很好用,但是, list_items 具有模型 wishes 的其他属性,我想根据来自 users 的标准访问这些属性(确切地说是 current_user )。我目前可以使用如下代码访问此属性:
wishes_controller.rb:
@wishes = current_user.wishes
index.html.haml:
-wish.list_items.each do |list_item|
-if list_item.user_id == current_user.id
=list_item.list_position
这很好用,但是,我敢打赌,有一种更优雅的方法可以做到这一点,能够像 wishes.list_position 一样访问它(这将根据 current_user id 提取适当的 list_position)。我查看了 here 和 here(以及许多其他地方),但我无法将这些概念转化为我的项目。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 has-many-through