【发布时间】:2014-08-10 16:04:35
【问题描述】:
所以我有一个基本的 Rails 应用程序,用户可以在其中对 pin 投票 - 现在我想显示一个对 pin 投票的用户列表 (app/views/pins/show.html.erb)
app/models/user.rb
has_many :pins
has_many :votes, dependent: :destroy
has_many :upvoted_pins, through: :votes, source: :pin
app/models/pin.rb
has_many :votes, dependent: :destroy
has_many :upvoted_users, through: :votes, source: :user
app/controllers/pins_controller.rb
def show
@disable_nav = true
@pin = Pin.friendly.find(params[:id])
@pin.upvoted_users
end
然后我添加了代码来渲染谁在 app/views/pins/show.html.erb 中对 pin 进行了投票
<ul><li><%= @pin.upvoted_users %></li></ul>
但是当我加载页面时显示关联错误:
#<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_User:0x007fddde186370>
这很奇怪,因为当我在 Rails 控制台中检查 @pin.upvoted_users 时,我得到了正确投票的用户。
有什么想法吗?
【问题讨论】:
标签: ruby-on-rails ruby associations vote