ruby
1class CommentsController < ApplicationController 2 include ActionController::HttpAuthentication::Token::ControllerMethods 3 4 before_action :authenticate 5 def user_timeline 6 @user_id = User.find_by(id: params[:user_id]) 7 if @user_id = @user.id 8 @article_comments = ArticleComment.where(user_id: params[:user_id]) 9 @opinion = Opinion.where(user_id: params[:user_id]) 10 @comment_count = @article_comments.count + @opinion.count 11 @result = "success!" 12 render 'user_timeline', formats: 'json', handlers: 'jbuilder' 13else 14 json_response(result: "user_not_found_error") 15 end 16end protected 17 def authenticate 18 authenticate_with_http_token do |token,options| 19 @user = User.find_by(token: token) 20 @user.token==token 21 end 22 end 23end 24 25
このコードでHTTPリクエストヘッダによって、パラメーターでもらったidと同じ値だった時に、
アクションを起こすようなコードを書きたいのですが、
なぜか
NoMethodError in CommentsController#user_timeline
undefined method `id' for nil:NilClass
というエラーが出てしまいます。
誰か教えてください!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/22 01:30