我正在尝试在简单的红宝石屏幕上进行一些计算。 让我们说有趣,我想创建一个表单,让用户将米转换为英尺。 当然,我不想将值存储在数据库中。我也不想为此创建一个表。
所以我的问题..如何创建一个绑定到控制器的单个文本字段。 带按钮。
答案 0 :(得分:3)
这是一个使表单添加两个数字的简单示例:
rails new math_app -O
cd math_app
rails generate controller Add form result
最后一行生成一个带有2个动作的控制器 -
在另一个命令提示符窗口中,打开'math_app'目录并启动服务器:
rails server
您可以打开浏览器“localhost:3000 / add / form”和“localhost:3000 / add / result”以查看为您生成的默认页面Rails。在编辑下面的内容时,您可以重新访问这些页面(甚至不必重新启动服务器)以查看它们产生的内容。
修改'app \ views \ add \ form.html.erb'以创建我们想要展示的表单。
<%= form_tag add_result_path do %>
<%= number_field_tag :first %>
+
<%= number_field_tag :second %>
<%= submit_tag "add" %>
<% end %>
编辑'config / routes.rb'以使'结果'操作从上面的表单中获取POST请求。
改变 -
get "add/result"
到 -
post "add/result"
编辑'app \ controllers \ 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 %>
完成!
答案 1 :(得分:0)
查看form_tag http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-form_tag
Ruby on rails使用了很多MVC思想;但是,您不需要将所有内容保存到数据库中.form_tag允许您创建HTML表单而无需将其绑定到模型。