0

したがって、デフォルトの検索フィールド値が存在する場合は、既存の値に設定しようとしています

<%= form_tag universities_path, :method => "get", :class => "form-search" do %>
  <%= label_tag :query, "Search by name" %>
  <%= text_field_tag :query, :input => params[:query] unless params[:query].nil? %>
  <%= text_field_tag :query if params[:query].nil? %>
  <%= label_tag :state  %>
  <%= select_tag :state, options_for_select(@states, params[:state])   %>
  <%= submit_tag "Search", :class => 'btn' %>
<% end %>

上記のコードは、次のようなハッシュを出力します ( {:input=>"coastal"})。where x = params[:query] を実行するとx.values、「"coastal":String の未定義のメソッド `values'」が表示されます。

params[:query].class を実行すると、(入力フィールドに) これが生成されます{:input=>String}

4

1 に答える 1

0

text_field_tag expects the second parameter as the value of the field. change

<%= text_field_tag :query, :input => params[:query] unless params[:query].nil? %>
<%= text_field_tag :query if params[:query].nil? %>

to

<%= text_field_tag :query, params[:query] %>
于 2013-03-07T03:14:45.647 に答える