Rails5.2で検索画面を作っている所です。
検索条件の入力フォームは、「form_with」を使うことにしました。
ruby
1 <%= form_with url: items_path, method: :get, local: true do |f| %> 2 <%= f.text_field(:search, :keyword) %> 3 <%= f.submit "検索" , class: "btn btn-default" %> 4 <% end %>
ここで2行目(f.text_field)でエラーになりました。
ActionView::Template::Error (undefined method `merge' for :keyword:Symbol):
「merge」なんてメソッド無いのに??うーん。
試しに以下のように f. を外すと
ruby
1<%= text_field(:search, :keyword) %>
エラーなく動作しました。
一応動作はしたようですが疑問が解決できずにいます。
f.text_fieldだと何故エラーになるのか?
逆にf.submitは、f.が無いとエラーになりました。紐づくformがないからでしょうか?じゃ、なぜtext_fieldは要らないの??
この辺り教えていただけないでしょうか?
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/03 23:32
2020/07/03 23:54
2020/07/04 00:10