Ruby on rails I';如果我运行params[:query],我会得到一个输出到视图的散列,但如果我在其上运行#值,它会中断并显示“查询”;I';“我是一根弦”;

Ruby on rails I';如果我运行params[:query],我会得到一个输出到视图的散列,但如果我在其上运行#值,它会中断并显示“查询”;I';“我是一根弦”;,ruby-on-rails,ruby-on-rails-3,forms,params,actioncontroller,Ruby On Rails,Ruby On Rails 3,Forms,Params,Actioncontroller,因此,我试图将默认搜索字段值设置为预先存在的值(如果存在) <%= 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[:que

因此,我试图将默认搜索字段值设置为预先存在的值(如果存在)

<%= 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 %>
“get”,:class=>“表单搜索”do%>
参数[:查询],除非参数[:查询].nil?%>
'btn'>
上面的代码输出如下所示的散列(
{:input=>“coast”}
)。当我运行
x.values
其中x=params[:query]时,我得到了一个“未定义的方法`values',用于“coast”:String”


运行params[:query].class会产生这个(输入字段),顺便说一句(
{:input=>String}

text\u field\u tag
期望第二个参数作为字段的值。改变

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


<%= text_field_tag :query, params[:query] %>