为什么要评估 if 块

苏拉夫·普拉卡什

我正在开发一个 rails 项目,如果用户已登录,我将通过 JQuery 从电子邮件字段自动填写表单。我正在使用设计进行身份验证。

var user_signed_in = "<%= current_user.blank? %>";

if (!user_signed_in){
  var user_signed_in = "<%= current_user.email %>";
  $('input#inquiry_from_email').val(user_signed_in);
}

根据代码,不应评估 if 块内的内容,但在访客用户的情况下,我收到未定义的方法 'email' for nil class 错误。

如果current_user.blank?被评估为 false 并且我事先在 if 块中检查它,我不明白为什么 if 中的语句会被评估。

马尼什

此代码将被执行,因为您在 JavaScript 代码中有 ruby​​ 代码。当页面被提供时,它将执行 JavaScript 代码。您需要将整个代码放在 if 块中

<% if current_user %>  
    var user_signed_in = "<%= current_user.email %>";
    $('input#inquiry_from_email').val(user_signed_in);  
<% end %>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么以后要执行静态块?

来自分类Dev

Ruby:为什么要拯救块值而不是确保块?

来自分类Dev

为什么在评估nil时带块的NSPredicate失败?

来自分类Dev

为什么在评估nil时带块的NSPredicate失败?

来自分类Dev

如果没有`throw`,为什么要调用`catch`块?

来自分类Dev

要放入什么尝试块?

来自分类Dev

为什么我的嵌入式代码块没有被评估?

来自分类Dev

为什么挡块是可选的?

来自分类Dev

为什么块进度溢出?

来自分类Dev

为什么块进度溢出?

来自分类Dev

为什么要调用球拍中的(从制造管道中读取)块?

来自分类Dev

为什么在添加else块时忽略了else块?

来自分类Dev

为什么块范围变量存在于块之外?

来自分类Dev

为什么块设备的传输单元块不分页?

来自分类Dev

为什么 href 显示在块中,而法拉在块中?

来自分类Dev

Oracle:什么是单块与多块IO

来自分类Dev

MATLAB To File块评估功能

来自分类Dev

为什么HDFS中的块这么大?

来自分类Dev

为什么.c文件可以包含块?

来自分类Dev

为什么变量在代码块之外可用?

来自分类Dev

为什么PNG块这样命名?

来自分类Dev

为什么将复制用于块属性?

来自分类Dev

为什么内联块元素未对齐?

来自分类Dev

为什么要使用多个捕获块?

来自分类Dev

为什么我的捕获块永远循环?

来自分类Dev

为什么块按此顺序运行?

来自分类Dev

为什么Object类有静态块?

来自分类Dev

为什么webpack无法加载块?

来自分类Dev

为什么块不与球碰撞