そこで昨日、現在のユーザーのプロジェクトを取得することについて質問しました。さて、私は問題に遭遇しました。こちらのスレッドをご覧ください。そのため、今日は、ディスカッションとともに、ユーザーのカテゴリとタスクの表示に取り組んでいました。これを表示するためにページをロードすると、次のようになりました。
NoMethodError in UsersController#show
undefined method `projects' for #<User:0xad5823f4>
Rails.root: /home/adam/Documents/Aptana Studio 3 Workspace/StartPoint
Application Trace | Framework Trace | Full Trace
app/controllers/users_controller.rb:25:in `show'
Request
Parameters:
{"id"=>"4"}
これは現在、私のusers#showメソッドの内容です。
def show
@projects = current_user.projects
@tasks = current_user.tasks
@categories = current_user.categories
@discussions = current_user.discussions
end
テーブル名は、プロジェクト、タスク、カテゴリ、およびディスカッションです。他の場所でこれを使用しても問題はありませんが、なぜこのエラーが表示されるのですか?
さらにコードが必要な場合は、それを表示できます。エラーはかなり明確ですが、プロジェクトのカテゴリやタスクなどのプロジェクト固有の情報を表示する場所で、このタイプの呼び出しを使用します。ユーザーとカテゴリ、ディスカッション、タスクなどとの関係に何か関係があるのでしょうか。とりわけ、showメソッドにリストされている各テーブルにuser_idがあるためです。
また、私はこれについて考えました。今朝、このトピックについて話していたので、current_userは間違っているようです。これは、Bobsプロファイルをクリックすると、すべてのものが表示されないためです。ユーザーIDに固有のものではないでしょうか。