1

我想只是得到一個輸入並將其發送給控制器。 但在控制器中的params爲始終爲零參數總是無控制器

視圖(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 

回答

1

你應該在你的控制器使用params[:zip_code],但在視圖。

在你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

+1

再次感謝你,我遵循( railscasts.com#290肥皂與薩翁),但由於它是老教程,我遇到了問題。 – Amir

+0

歡迎您:) –