我希望通过Ruby on Rails学习一些东西,并且想知道如何制作一个不会触及模型的基本计算器。
我正在使用form_tag
这是我的主页
<%= form_tag do %>
<%= label_tag('first number') %>
<%= number_field('first_number', value = nil) %>
</br>
<%= label_tag('second number') %>
<%= number_field('second_number', value = nil) %>
</br>
<%= submit_tag("calculate") %>
<% end %>
<% first_number * second_number %>
我收到了错误:
undefined local variable or method first_number
我如何解决这个问题?我不知道从哪里开始?
答案 0 :(得分:0)
创建一个控制器方法。然后在form_tag中给出方法的url。然后在该方法中接收参数。然后计算并显示结果。
假设,
您当前的观看次数calculator.html.erb
会显示该表单。
在表单标记中使用<form action="<%= calculate_result_path %>" method="post">
在这里, calculate_result 是任何控制器中的方法。
def calculate_result
@result = params[:first_number] * params [:second_number]
end
现在为此方法创建一个视图文件以显示结果。或者您可以ajaxify在calculator.html.erb
文件上显示结果。
到Ajaxify
假设您希望在calculator.html.erb
中显示结果,就像
<div class="show-result">
<%= @result %>
</div>
现在为方法calculate_result.js.erb
创建calculate_result
。在该JS文件中,使用自定义 div 替换 div 和类 show-result ,您可以在其中放置从控制器方法获得的结果。
要了解详情,请了解如何在rails中激活您的观看次数。我建议你阅读“Agile Development”一书