我正在尝试获取输入并将其发送到控制器。 但控制器中的参数始终为零
查看(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
答案 0 :(得分:1)
您应该在控制器中使用params[:zip_code]
,但在视图中使用 NOT 。
在index.html.erb
视图中,替换:
<%= text_field_tag :zip_code, params[:zip_code] %>
使用:
<%= text_field_tag :zip_code %>
然后,在控制器操作中使用zip_code
获取params[: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。