控制器中的参数始终为零
Params always nil in controller
我正在尝试获取输入并将其发送到控制器。
但是控制器中的参数总是 nil
查看(index.html.erb)
<%= form_tag(:controller => "zip_code_lookup", :action => 'index') do %>
<%= text_field_tag :zip_code, params[:zip_code] %>
<%= submit_tag("go") %>
<% end %>
控制器
class ZipCodeLookupController < ApplicationController
def index
render :text => params[:zip_code].inspect
end
end
您应该在您的控制器中使用 params[:zip_code]
,但在您的视图中 NOT。
在您的 index.html.erb
视图中,替换:
<%= text_field_tag :zip_code, params[:zip_code] %>
与:
<%= text_field_tag :zip_code %>
然后,在控制器操作中使用 params[:zip_code]
获取 zip_code
值。
因此,您的视图 (index.html.erb)
) 变为:
<%= form_tag(:controller => "zip_code_lookup", :action => 'index') do %>
<%= text_field_tag :zip_code %>
<%= submit_tag("go") %>
<% end %>
有关 form_tag
工作原理的更多信息,请参阅 this article。
我正在尝试获取输入并将其发送到控制器。 但是控制器中的参数总是 nil
查看(index.html.erb)
<%= form_tag(:controller => "zip_code_lookup", :action => 'index') do %>
<%= text_field_tag :zip_code, params[:zip_code] %>
<%= submit_tag("go") %>
<% end %>
控制器
class ZipCodeLookupController < ApplicationController
def index
render :text => params[:zip_code].inspect
end
end
您应该在您的控制器中使用 params[:zip_code]
,但在您的视图中 NOT。
在您的 index.html.erb
视图中,替换:
<%= text_field_tag :zip_code, params[:zip_code] %>
与:
<%= text_field_tag :zip_code %>
然后,在控制器操作中使用 params[:zip_code]
获取 zip_code
值。
因此,您的视图 (index.html.erb)
) 变为:
<%= form_tag(:controller => "zip_code_lookup", :action => 'index') do %>
<%= text_field_tag :zip_code %>
<%= submit_tag("go") %>
<% end %>
有关 form_tag
工作原理的更多信息,请参阅 this article。