Railsで検索表示を調べながら作成しています。
ソース自体は問題なく動くのですが、コントローラーで使用している、params[:q]と
viewで使用している<%= text_field_tag "q",params[:q] %>のコードでなぜinputに打ち込んだ値が取れるのか分かりません。
どなたか回答お願いします。
該当のソースコード、コントローラー
ruby
1def search 2 @members = Member.search(params[:q]) 3 render "index" 4end
該当のソースコードView
ruby
1 2<%= form_tag :search_members,method: :get,class: "search" do %> 3<%= text_field_tag "q",params[:q] %> 4<%= submit_tag "検索"%> 5<%end%>
コントローラーで使用しているsearchメソッド
ruby
1def search(query) 2 rel = order("number") 3 if query.present? 4 rel = rel.where("name LIKE ? OR full_name LIKE ?", 5 "%#{query}%", "%#{query}%") 6 end 7 rel 8end
質問追記
text_field_tag でinputを作成する際に nameでqを指定しているのでtext_field_tagのparams[:q]は要らないのではないかと思っています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/19 05:24