【Rails】インスタンスメソッドが NoMethodError となり、適応されない
Q&A
Closed
解決したいこと
現在、ProgateでRuby on Railsを勉強中です。
Twitterのようなウェブアプリケーションを作成しています。
その中で、インスタンスメソッドを定義したのですが、エラーが出てしまいました。
解決策をご教示いただけますと幸いです;;
発生している問題・エラー
NoMethodError in PostsController#show
def show
@post = Post.find_by(id:params[:id])
@user = @post.user
end
以下、私の作成したコードです。
post.rb
class Post < ApplicationRecord
def user
return User.find_by(id: self.user_id)
end
end
posts_controller.rb
def show
@post = Post.find_by(id:params[:id])
@user = @post.user
end
show.html.erb
<div class="post-user-name">
<img src="<%= "/user_images/#{@user.user_image}" %>">
<%= link_to(@user.name, "/users/#{@user.id}") %>
</div>
バージョン
ruby 3.1.2p20
Rails 7.0.5
### 自分で試したこと
いろいろ調べてみたのですが、行き詰まってしまい、これ以上先に進めない状況です;;
どなたかお助けいただけますと幸いです;;
0