0
我想添加ajax到rails没有数据库表格计算器。但它接缝不响应。它给了我204没有内容服务器的答案。我试图解决这个问题,但我卡住了。我的JavaScript知识是非常基础的,所以详细的回答会非常有帮助。没有AJAX它工作正常,并通过所有测试。添加ajax到rails没有数据库表格计算器
计算器控制器
class InterestCalculatorController
def new
respond_to do |format|
format.html { render 'index.html.erb' }
format.js
end
# If accepted parameter is integer, then it shows in view as 5, when it
# is float, it shows as 5.1
@first_0 = params[:a_0].to_f % 1 != 0 ? params[:a_0].to_f : params[:a_0].to_i
@second_0 = params[:b_0].to_f % 1 != 0 ? params[:b_0].to_f : params[:b_0].to_i
# How many percent is number from the number
number_to_number(@first_0, @second_0)
private
def number_to_number(a = 0, b = 0)
# If the first number is zero, it sends 0% answer. If the second number is zero
# and the first number is nonzero, it sends infinity. Otherwise simple formula calculation.
if a.zero?
@result_0 = 0
elsif b.zero?
@result_0 = "infinity"
else
@result_0 = a.to_f/b.to_f * 100
end
end
end
index.js.erb的
document.getElementById("answer_0").innerHTML = <%= @result_0 %>
视图index.html.erb
<h1>Interest Calculator</h1>
<div id="interest_calculator_main">
<div id="interest_calculator">
<%= form_for :interest_calculator, url: { action: :new }, method: :get, remote: true do |f| %>
<p>Сколько % составляет число</p>
<%= number_field_tag :a_0, params[:a_0], step: :any, id: "first_number_0" %>
<p>от числа</p>
<%= number_field_tag :b_0, params[:b_0], step: :any, id: "second_number_0" %>
<%= f.submit 'Calculate!', id: "number_to_number" %>
<% end %>
<% unless @result_0.nil? %>
<p>Number <%= @first_0 %> from number <%= @second_0 %> = <label id="answer_0">%</label></p>
<% end %>
</div>
</div>
重命名后,它给了我另一个错误 - 304没有修改 –
@KirillZhuravlov你可以显示你的服务器日志中的错误? – Gerry
我的轨道控制台显示我没有错误,但mozilla发送给我304错误,并且模板中没有result_0答案。 –