[英]how to save input from text field with form in ruby on rails
我需要保存從用戶那里得到的輸入,但是我發現了一個可以使用舊格式的代碼,
文件:public \\ input.html,添加以下代碼:
<html>
<head>
<title>Using Text Fields</title>
</head>
<body>
<h1>Working With Text Fields</h1>
This Ruby on Rails application lets you read data from text fields.
<br>
<form action = "/hello/there" >
Please enter your name.
<br>
<input type="text" name="text1">
<br>
<br>
<input type="submit"/>
</form>
</body>
</html>
文件:app \\ controllers \\ hello_controller.rb:
class HelloController < ApplicationController
def there
@data = params[:text1]
end
end
文件:app \\ views \\ hello \\ there.rhtml:
<html>
<head>
<title>Reading data from text fields</title>
</head>
<body>
<h1>Reading data from text fields</h1>
This Ruby on Rails application reads data from text fields.
<br>
<br>
Your name is <%= @data %>.
<br>
<br>
</body>
</html>
Start the WEBrick server: ruby script/server
Navigate to http://localhost:3000/input.html
那就是代碼片段,說實話,它的工作原理就像一個咒語,但是在當前的rails api中,它給了我這樣的東西:
<!--
<form action = "home/omg" >
<%= label_tag(:text1, "Enter the message:") %>
<%= text_field_tag :text1 %>
<%= submit_tag"submit" %>
-->
那么有什么區別,我如何使用給定的輸入,
我想要和需要的是用戶單擊按鈕-提交按鈕-在文本字段中獲取文本並將其用作我的家庭控制器中的字符串。 我怎樣才能做到這一點?
唯一的區別是,您在Rails指南中找到的代碼使用Rails表單幫助程序 。 表單幫助程序將在服務器上進行評估,結果將幾乎與第一個示例中的結果完全相同地發送到客戶端。 嘗試使用表單助手,然后在瀏覽器中導航到您的應用程序。 右鍵單擊“檢查元素”,您將看到標准標記,類似於您編寫的標記。
至於使用給定的輸入,當前是否無法正常工作? 我尚未測試您的代碼,但看起來應該可以。 如果字符串沒有出現在there.rhtml
,可以解釋發生了什么嗎?
像建議的答案一樣,查看Rails指南以了解Rails form helper form_tag
工作方式。
在您的app/views/hello/edit.erb.html
或您擁有表單的位置(由於這些是靜態資源,因此無法在public/*.html
)。 在ERB (輸出HTML的嵌入式RuBy文件)中使用form_tag
,例如:
<%= form_tag("/hello/there") do %>
<%= label_tag(:text1, "Please enter your name") %>
<%= text_field_tag :text1 %>
<%= submit_tag %>
<% end %>
將輸出HTML:
<form action="/hello/there">
<label for="text1">Please enter your name</label>
<input type="text" name="text1" id="text1" />
<input type="submit" />
</form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.