首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果不检查ujs文件

如果不检查ujs文件
EN

Stack Overflow用户
提问于 2014-10-09 14:21:17
回答 1查看 142关注 0票数 0

我正在构建一个Rails 4.1 webapp,我使用的是一个ajax表单(远程为真)和一个包含以下内容的create.js.erb文件:

代码语言:javascript
复制
$("div.box-content").prepend('<%=j render @comment %>');
$(".empty-message").hide();
$(".textfield").val("");

如何检查@注释是否为空?现在,当没有内容时,它正在添加一个空行(如果没有设置注释,我不想添加一行)。

更新

代码语言:javascript
复制
def create
  @comment = @object.comments.create(comments_params)
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-09 14:29:13

您可以签入服务器端(有条件地输出不同的JavaScript),也可以在JavaScript中签入客户端。

检查服务器端涉及测试是否设置了@comment,而不是输出任何预先处理的JavaScript:

代码语言:javascript
复制
<% if @comment.present? %>
  $("div.box-content").prepend('<%=j render @comment %>');
<% end %>
$(".empty-message").hide();
$(".textfield").val("");

检查客户端涉及将空值输出到变量中,这样您就可以在JavaScript中检查它,然后将它放在元素的前面:

代码语言:javascript
复制
var comment = '<%= j render @comment %>';
if (comment) {
  $("div.box-content").prepend(comment);
}
$(".empty-message").hide();
$(".textfield").val("");

我会用第一种方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26280877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档