我想在我的web應用程序的索引頁上做一個表單。現在,我有一個名爲home_controller.rb
的控制器和一個名爲index.html.erb
的視圖。這兩個人現在處理我網站的「索引」。我也試圖向該頁面添加一個表單。的index.html.erb
內容是:簡單的導軌形式的用例幫助
<%= form_tag(query_path, :method => "get") do %>
<%= submit_tag("Go!") %>
<% end %>
然而,鐵軌給我這個錯誤,當我加載頁面:
未定義的局部變量或方法 `query_path」
這裏是我的想我想要發生:我想home_controller.rb
中的另一個行動,這被稱爲query
(現在是唯一的行動在這個控制器我s index
)。這個query
動作是當你點擊「Go!」時從我的表單中調用的動作。我如何做到這一點?什麼需要在那裏而不是query_path
?
編輯:
我覺得必須有一個簡單的答案,而不是修改routes.rb
文件。我如何錯誤地思考這個路由業務?在我的腦海中,我的頁面上的任何操作都應默認爲現有頁面的控制器。因此,如果我在我的index.html.erb
頁面上,該頁面屬於我的home_controller.rb
,我的:action => 'query'
應該默認查找我的home_controller.rb
中的操作。 爲什麼這不會發生?這正是我想要發生的事情。
也許我正在考慮這是完全錯誤的方式,這就是爲什麼我們一起黑客解決方案。這就是我想要的:我希望用戶點擊一個按鈕,這會導致應用程序查詢外部API,獲取一些JSON並顯示JSON的內容。在我的腦海中,這意味着按鈕轉到另一個操作,在同一個控制器中查詢外部API,並將JSON傳遞迴顯示在完全相同的頁面上(所有這些都使用Ajax)。我以錯誤的方式接近這個問題嗎?
什麼版本鐵軌是這樣的嗎? – 2011-04-25 04:43:42
3.0.7(#FILLERTEXTISANNOYING) – sepiroth 2011-04-25 04:45:57