2011-03-15 117 views
1

即时通讯学习RoR atm和即时尝试代码计算器的webapp。 事情是:我希望操作是实时计算的。 所以,如果我输入2 + 2的计算说4没有我按了一些“计算器现在”按钮。Ruby on Rails,实时计算

有人可以给我一些提示我怎么可以呢?我需要为此学习AJAX吗?

回答

4

您只能使用JavaScript在客户端执行计算。或者,您可以使用JavaScript驱动的自动表单提交或AJAX将输入发送到服务器并使用Ruby on Rails进行计算。

为了计算在服务器侧:

路线:

resources :calculators 

CalculatorsController

def create 
    @sum = eval(params[:data]) 
end 

应用/视图/计算器/ create.js.erb

document.getElementById("sum").innerHTML = <%= @sum %> 

应用/视图/ C alculators/index.html.erb

<%= form_tag calculators_path, :method => :post, :remote => true do %> 
    <%= text_field_tag :data, nil, :onkeyup => "this.form.sub.click()" %> = <span id="sum"></span> 
    <%= submit_tag "ok", :name => "sub" %> 
<% end %> 

现在去/calculators享受

+2

It's关于学习的回报率(或只是红宝石),所以那不是非常有帮助。 – 2011-03-15 14:16:31

+0

所以如果你想在服务器端计算,你需要了解一些关于ajax – fl00r 2011-03-15 14:20:36

+0

答案更新。 – fl00r 2011-03-15 14:27:02