数週間前に Rails でコーディングを開始しましたが、なぜこのエラーが発生するのかわかりません。ログインにはDevise、フォームにはFormtasticを使用しています。Acts_like_tags_on を追加してデータベースをリセットするまで、アプリは正しく動作していました。
エラー メッセージ: NoMethodError in UsersController#show
undefined method `username' for nil:NilClass
app/controllers/users_controller.rb:19:in `show'
Request
Parameters:
{"id"=>"sign_in"}
これは私がユーザーコントローラーに持っているものです:
def show
@user = User.find_by_username(params[:id])
@title = @user.username
respond_to do |format|
format.html # show.html.erb
format.json { render json: @user }
end
end
どんな入力でも役に立ちます。ありがとう!
@user = User.find_by_username(params[:id]) を次のように編集した後: @user = User.find_by_user(params[:id])
エラーは次のようになります: undefined method `find_by_user' for #
ユーザー名列は、ユーザー テーブルに存在します。