大家好我正在开发一个带有ruby on rails的应用程序 我想在ajax上取得成功 这是控制器的动作
def re
@question = Question.find_by_title(params[:qt])
respond_to do |re|
re.js {}
end
end
这是我的re.js.erb:
document.getElementById("details").value = "<%= @question.details %>";
document.getElementById("tag").value ="<%= @question.tag %>";
var ansForm =document.getElementById("new_answer");
ansForm.action=" http://localhost:3000/questions/<%= @question.id %>/answers" ;
document.getElementById("txt_title").innerHTML = "<%=@question.title %>";
document.getElementById("txt_tag").innerHTML = "<%=@question.tag %>";
$(".answers").empty();
$(".answers").append("<h1>Added Answers</h1>");
$(".answers").append("<%= render @question.answers %>");
但是我收到了这个错误:
GET http://localhost:3000/re?qt=Can%20I%20add%20anything%20to%20water? 500 (Internal Server Error)
答案 0 :(得分:1)
检查你的服务器日志(log / development.log),因为那里应该有更多的信息,而不仅仅是浏览器给你的“500 Internal”。
你的config / routes.rb怎么样? (也许它不接受GET / re)
答案 1 :(得分:0)
您的代码看起来没问题,但是会出现一个未公开显示的问题:
Right-Click
&gt;Inspect Element
&gt;Network
- 发送请求时,单击显示
的新项目- 它应该显示为红色 - 点击它&amp;点击
preview
- 查看“真实”错误
醇>
您遇到的问题很可能是代码中的错误(Rails或JS)。确切知道的唯一方法是在开发控制台中显示呈现的错误消息
试试这个:
#controller
def re
@question = Question.find_by_title(params[:qt])
respond_to do |format|
format.js
end
end
#re.js.erb
alert("hello");