在rails上的ruby中创建非数据库链接表单字段

时间:2012-01-17 01:25:26

标签: ruby-on-rails forms field temp

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

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

2 个答案:

答案 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表单而无需将其绑定到模型。