ruby on rails で検索機能を付けたいです。
Q&A
Ruby on RailsでQiitaのようなteitterのようなアプリをつくっています。
prog-8のWeb開発コース(Ruby on Rails)を完成させ次に投稿の検索機能を実装しようとしたときにエラーが発生しました。
解決方法を教えて下さい。
発生している問題・エラー
undefined method `user' for nil:NilClass
該当するソースコード
posts_controller.rb
def show
@post = Post.find_by(id: params[:id])
@user = @post.user
@likes_count = Like.where(post_id: @post.id).count
end
追加したコード
posts_controller.rb
def search
@teams = Post.search(params[:search])
end
post.rb
def self.search(search)
if search
Post.where(['address LIKE ?', "%#{search}%"])
else
Post.all
end
end
routes.rb
get "posts/search" => "posts#search"
index.html.erb
<div class="serch_form">
<%= form_tag(posts_search_path,:method => 'get') do %>
<%= text_field_tag :search %>
<%= submit_tag 'Search', :address => nil %>
<% end %>
</div>
自分で試したこと
https://qiita.com/a_hyu/items/530d0a8e62a60f180ee4
これを参考にしました。
また初めて投稿するので気を付けた方がいいところがあれば教えてください。
2