#controller
class CalcController < ApplicationController
def new
@result = Calculator.calculate( params[:op],params[:a],params[:b])
render "calc/index"
end
end
#index.html.erb
<%= form_for :calc, url: { action: :new }, method: :post do |f| %>
<p>First num: <%= number_field_tag :a, params[:a] %></p>
<p>Opration: <%= text_field_tag :op, params[:op]%></p>
<p>Second num: <%= number_field_tag :b, params[:b] %></p>
<%= f.submit 'Calculate!' %>
<p>Result:<%= f.text_field :value => @result %></p>
<% end %>
UPDATE(添加我的项目的更多代码可能是我的麻烦有解决方案)
#model
class Calculator
def self.calculate(op, a, b)
case op.to_s
when "+"
a.to_i + b.to_i
when "-"
a.to_i - b.to_i
when "*"
a.to_i * b.to_i
when "/"
a.to_i / b.to_i
else
"Exception !!!"
end
end
end
如何在此字段中返回值
<p>Result:<%= f.text_field :value => @result %></p>
代码正常,因为我检查了这个
<p> = <%= @result %> </p>
和@result
返回true
。
感谢您的帮助,提前:)
答案 0 :(得分:1)