0
在我的节目鉴于我有这个div:内部服务器错误AJAX Rails的
<% if @question.answers.any? %>
<div class="parent">
<%= render :partial => @question.answers %>
</div>
<% else %>
<p class="hideAns">No answers yet. Be the first first to answer!</p>
<% end %>
从上面的代码所示,我展示一个段落,如果这个问题没有答案。我面临的问题是检查问题是否再次用ajax解答。
在我create.js.erb文件,我有这个代码块隐藏段落:
$("#answers").append("<%= j render @answer %>");
tinyMCE.activeEditor.setContent('');
$(".hideAns").css("cssText", "display: none;");
在我delete.js.erb文件,(这是我得到的内部。服务器错误)我有这个代码块,检查问题是否有答案,或者没有:
$("#answer_<%= @answer.id %>").remove();
<% if @questions.answers.any? %>
console.log("has answers");
<% else %>
$(".hideAns").css("cssText", "display: block;");
<% end %>
为什么不工作?我不允许在.js.erb文件中放置if语句吗?
编辑
服务器日志:
ActionView::Template::Error (undefined method `answers' for nil:NilClass):
1: $("#answer_<%= @answer.id %>").remove();
2:
3: <% if @question.answers.any? %>
4: console.log("has answers");
5: <% else %>
6: $(".hideAns").css("cssText", "display: block;");
7: <% end %>
什么错误? – infused
'删除http:// localhost:3000/questions/36/answers/102 500(内部服务器错误)' – Raymond
您的日志应该显示实际错误以及它发生在 – infused