我正在构建一个Rails 4.1 webapp,我使用的是一个ajax表单(远程为真)和一个包含以下内容的create.js.erb文件:
$("div.box-content").prepend('<%=j render @comment %>');
$(".empty-message").hide();
$(".textfield").val("");如何检查@注释是否为空?现在,当没有内容时,它正在添加一个空行(如果没有设置注释,我不想添加一行)。
更新
def create
@comment = @object.comments.create(comments_params)
end发布于 2014-10-09 14:29:13
您可以签入服务器端(有条件地输出不同的JavaScript),也可以在JavaScript中签入客户端。
检查服务器端涉及测试是否设置了@comment,而不是输出任何预先处理的JavaScript:
<% if @comment.present? %>
$("div.box-content").prepend('<%=j render @comment %>');
<% end %>
$(".empty-message").hide();
$(".textfield").val("");检查客户端涉及将空值输出到变量中,这样您就可以在JavaScript中检查它,然后将它放在元素的前面:
var comment = '<%= j render @comment %>';
if (comment) {
$("div.box-content").prepend(comment);
}
$(".empty-message").hide();
$(".textfield").val("");我会用第一种方法。
https://stackoverflow.com/questions/26280877
复制相似问题