0

私の Rails アプリケーションには、ユーザー モデル (多かれ少なかれ RESTful 認証によって構築されたもの) と、ユーザーに属する他のいくつかのモデルがあります。たとえば、次のように言いましょう。

ユーザー has_many :posts

投稿の所属先:ユーザー

ユーザー リソースのどこからでも、期待どおりにユーザー変数にアクセスできます。@user.name、@user.email、@user.login などはすべて、期待されるオブジェクトを返します。

ただし、nil (NoMethodError ではなく nil) を返さない限り、他のリソース (この例では投稿) からこれらの属性のいずれにもアクセスできないようです。

どうしてこれなの?、のように問題なく呼び出すことができますが、問題のユーザーに対しては呼び出せcurrent_userないことは、私にはさらに奇妙に思えます。current_user.namecurrent_user.email

4

1 に答える 1

1

ここで話している可能性のある2人のユーザーがいます。
1)現在ログインしているユーザー
2)投稿が属しているユーザー

現在ログインしているユーザーは、current_userを介してアクセスできる必要があります。投稿が属するユーザーは、投稿コントローラーで設定する必要があります。

@user = Users.find(@post.user_id)

また

@user = @post.user
于 2009-04-16T01:18:04.450 に答える