我正試圖在簡單的ruby屏幕上進行一些計算。 爲了好玩,我想創建一個讓用戶將米轉換爲英尺的表單。 當然,我不想將這些值存儲在數據庫中。我也不想爲此創建一個表。在rails上創建一個非數據庫鏈接表單字段
所以我的問題..我如何創建一個文本框綁到一個控制器。 用一個按鈕。
我正試圖在簡單的ruby屏幕上進行一些計算。 爲了好玩,我想創建一個讓用戶將米轉換爲英尺的表單。 當然,我不想將這些值存儲在數據庫中。我也不想爲此創建一個表。在rails上創建一個非數據庫鏈接表單字段
所以我的問題..我如何創建一個文本框綁到一個控制器。 用一個按鈕。
這裏的製作形式兩數相加的一個非常簡單的例子:
rails new math_app -O
cd math_app
rails generate controller Add form result
最後一行生成具有2個操作的控制器 -
在另一個命令提示符窗口中,打開在「math_app」目錄並啓動服務器:
rails server
您可以打開瀏覽器的「localhost:3000 /添加/表單」和「本地主機:3000 /添加/結果」以查看默認頁鋼軌產生您。在您編輯下面的內容時,您可以重新訪問這些頁面(甚至不必重新啓動服務器)以查看它們生成的內容。
編輯「應用程序\意見\添加\ form.html.erb」創造我們想要展示的形式。
<%= form_tag add_result_path do %>
<%= number_field_tag :first %>
+
<%= number_field_tag :second %>
<%= submit_tag "add" %>
<% end %>
編輯'config/routes.rb'以使'result'動作從上面的表單中獲取POST請求。
變化 -
get "add/result"
TO-
post "add/result"
編輯 '應用程序\控制器\ add_controller.rb' 結果的方法來檢索表單數據的兩個數,並將其添加到一起。
def result
@first = params[:first].to_i
@second = params[:second].to_i
@result = @first + @second
end
編輯'app \ views \ add \ result.html.erb'以顯示結果。
<%= @first %> + <%= @second %> = <%= @result %>
<br/>
<%= link_to 'back', add_form_path %>
完成!
退房的form_tag http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-form_tag
Ruby on Rails的使用MVC意識形態很多;然而,您並不需要將所有內容保存到數據庫中。form_tag允許您創建HTML表單而無需將其綁定到模型。
令人敬畏的工作伴侶。 – baash05 2012-01-17 22:32:17
完美工作@Nate – Ratna 2014-07-08 13:23:37