2012-01-17 33 views
1

我正試圖在簡單的ruby屏幕上進行一些計算。 爲了好玩,我想創建一個讓用戶將米轉換爲英尺的表單。 當然,我不想將這些值存儲在數據庫中。我也不想爲此創建一個表。在rails上創建一個非數據庫鏈接表單字段

所以我的問題..我如何創建一個文本框綁到一個控制器。 用一個按鈕。

回答

3

這裏的製作形式兩數相加的一個非常簡單的例子:

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 %> 

完成!

+0

令人敬畏的工作伴侶。 – baash05 2012-01-17 22:32:17

+0

完美工作@Nate – Ratna 2014-07-08 13:23:37

相關問題