用下面的解決方案進行更新會產生新的錯誤。Rails 3 noob - 填充數組的難度
用戶邀請他人審閱他們的工作。爲了跟蹤這個,邀請表具有reviewer_id和reviewee_id字段。該模型包含:
belongs_to :user
has_many :users
要顯示所有邀請的用戶,我們首先得到所有的邀請:
@invitations = Invitation.where("reviewee_id = ?", current_user.id).select(:reviewer_id).order("updated_at")
然後我們得到了所有誰被邀請的用戶(這部分是錯的)
@reviewers = []
@invitations.each do |i|
@reviewers << User.where("id = ?", i.reviewer_id)
end
該電流溶液產生以下:
undefined method `first_name' for []:ActiveRecord::Relation
我做了下面的代碼測試,看看是什麼@reviewers:
<% @reviewers.each do |r| %>
<%= r.id %><br>
<% end %>
,而不是返回它返回的id:
2173491700
2173491200
2173490540
所以數組是沒有得到適當的填充。
非常感謝您的幫助和對特定代碼的感激。
謝謝!我得到以下錯誤,「Mysql2 ::錯誤:操作數應該包含1列:選擇'用戶'*從'用戶'在哪裏(id = 23,24,25)」 – Jay 2011-05-24 12:44:19
@Jay - 你應該做的:'@reviewers = User.where(:id => reviewer_ids)' – Mischa 2011-05-24 12:51:42
現在它出現零。啊。感謝你的幫助。 – Jay 2011-05-24 13:12:17