1

我想在 Rails 3.1 中创建一个简单的计算器表格只是为了理解。通过一个表格,我想得到一个数字并将其乘以 2(例如)。

我用索引页(/索引)创建了控制器,然后在视图中形成:

<%= form_for @result do |f|%>
<%= f.label :number, 'Number' %>:
<%= f.text_field :number %>
<%= submit_tag 'Submit' %>
<%end%>
<%=@result%>

我需要用控制器做什么?

  def index
    @result = ''
  end
  def calculate
    @result = @number.to_i*2
  end
4

2 回答 2

4

这是行不通的。form_for用于为扩展 ActiveRecord 的模型构建表单。改为使用form_tag('/calculate')

您需要在 config/routes.rb 中定义 `match 'calculate' => 'your_controller_name#calculate'。

此外,您需要一个用于计算操作的视图 - calculate.html.erb(您可以以不同的方式调用它,但您必须指定render 'view_name'.

或者,如果您想使用相同的视图文件,请使用render :action => :index

忘了提。要访问表单中的数据,请使用params[:key]哈希。所以在你的情况下,它看起来像@result = params[:number] * 2

本书是开始使用 Rails 的好地方。

此外,这些截屏视频也很有帮助

于 2011-06-26T17:00:39.903 回答
2

万一其他人要寻找rails计算器的例子......我现在自己做了一段时间,把来自各处的小块拼凑在一起。Result 是一个货币计算器应用程序,它可以从网络上获取新的汇率数据,并让您将欧元转换为您想要的货币。

链接到 github 的任何人都可能是一个全新的人并且想知道如何在 rails 中实现一个计算器:https ://github.com/Veske/form 还有一个 Heroku 的链接:http://harjutus.herokuapp。 com

于 2013-11-04T22:10:20.420 回答