1

我正在尝试在一个简单的红宝石屏幕上进行一些计算。让我们说为了好玩,我想创建一个表格,让用户将米转换为英尺。当然,我不想将值存储在数据库中。我也不想为此创建一个表。

所以我的问题..如何创建与控制器绑定的单个文本字段。用一个按钮。

4

2 回答 2

3

这是一个非常简单的例子,它制作了一个将两个数字相加的表格:

rails new math_app -O
cd math_app
rails generate controller Add form result

最后一行生成一个具有 2 个动作的控制器 -

  • "form"- 显示表格
  • “结果” - 显示结果

在另一个命令提示符窗口中,打开“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' 以使 'result' 操作接受来自上述表单的 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 %>

完毕!

于 2012-01-17T14:27:52.037 回答
0

查看 form_tag http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-form_tag

Ruby on rails 大量使用 MVC 思想;但是,您不需要将所有内容保存到数据库 form_tag 允许您创建 HTML 表单而无需将其绑定到模型。

于 2012-01-17T05:08:28.053 回答