RoRにて検索窓の実装を行なおうと思ってます。下記リンクを参考に単独テーブル(ここでいう@posts)は検索できたのですが、アソシエーションを行った場合、複数テーブルを検索する場合どのように行ったら良いのでしょうか。
仮に@usersテーブルだとして@posts.users.nameはどのように検索したら良いでしょうか。
参考にしたリンク
https://qiita.com/yusuko/items/cff4e46aeafbc3beecf2
posts_controller.rb
ruby
1def search 2 #Viewのformで取得したパラメータをモデルに渡す 3 @posts = Post.search(params[:search]) 4 end
post.rb
ruby
1def self.search(search) 2 return Post.all unless search 3 Post.where(['content LIKE ?', "%#{search}%"]) 4 end
search.html.erb
html
1<p>検索</p> 2<%= form_tag(search_path,:method => 'get') do %> 3 <%= text_field_tag :search %> 4 <%= submit_tag 'Search', :name => nil %> 5<% end %> 6 7<ul><% @posts.each do |post| %> 8 <li> 9 <%= link_to post.title, post %> 10 <%= post.created_at %> 11 <%= post.status %> 12 </li> 13 <%= link_to "編集",edit_post_path(post) %> 14 <%= link_to "削除",post, method: :delete %> 15 <% end %> 16</ul>