我想在Rails 3.1中创建一个简单的计算器表单,只是为了理解。通过表格,我想得到一个数字并乘以2(例如)。
我用索引页面(/ index)创建了控制器,然后在视图中形成:
<%= 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
答案 0 :(得分:4)
这不会奏效。 form_for
用于为扩展ActiveRecord的模型构建表单。请改用form_tag('/calculate')
。
你需要定义`匹配'计算'=&gt; config / routes.rb中的'your_controller_name#calculate'。
此外,您需要一个计算操作的视图 - calculate.html.erb
(您可以使用不同的方式调用它,但您必须指定render 'view_name'
。
或者,如果要使用相同的视图文件,请使用render :action => :index
忘了提。
要从表单访问数据,请使用params[:key]
哈希。
所以在你的情况下,它看起来像@result = params[:number] * 2
This本书是开始使用Rails的好地方。
此外,these截屏视频也非常有用
答案 1 :(得分:2)
如果其他人要去寻找轨道计算器的例子......我现在用一段时间自己做了一个,把所有的小块放在一起。结果是一个货币计算器应用程序,它从网络获取新的汇率数据,并允许您将欧元转换为您想要的货币。
链接到github的任何可能也是新手的人,并且想知道如何在rails中实现计算器:https://github.com/Veske/form 也是heroku的链接:http://harjutus.herokuapp.com