以下の解決策でアップデートされました。新しいエラーが発生しました。Rails 3 noob - 配列への移植が難しい
ユーザーは他のユーザーが自分の仕事をレビューするように招待します。これを追跡するために、招待状テーブルは、reviewer_idおよびreviewee_idフィールドを有する。モデルが含まれています
@invitations = Invitation.where("reviewee_id = ?", current_user.id).select(:reviewer_id).order("updated_at")
その後、我々は、招待されたすべてのユーザーを取得:(この部分は間違っている)
belongs_to :user
has_many :users
は、我々は最初にすべての招待状を取得するユーザーのすべての招待状を表示するには
@reviewers = []
@invitations.each do |i|
@reviewers << User.where("id = ?", i.reviewer_id)
end
この現在のソリューションには、以下を生成します。
undefined method `first_name' for []:ActiveRecord::Relation
<% @reviewers.each do |r| %>
<%= r.id %><br>
<% end %>
代わりに、それは返さidを返す:
2173491700
2173491200
2173490540
だから、配列が適切に読み込ま取得されていない
私は@reviewersであるかを確認するには、次のコードでテストを行いました。
私はあなたの助けに感謝し、特定のコードに最も感謝しています。
ありがとう!私は次のエラーが表示されます: "Mysql2 :: Error:オペランドには1列が含まれています:SELECT' users'。* FROM 'users' WHERE(id = 23,24,25)" – Jay
@Jay : '@reviewers = User.where(:id => reviewer_ids)' – Mischa
これはnilになります。 ugh。あなたの助けに感謝。 – Jay