【发布时间】:2018-09-06 03:31:50
【问题描述】:
我的app/assets/javascripts/sample.js.erb 文件中有这样的代码。
var user_signed_in = <%= user_signed_in? %>;
if(user_signed_in){
// run code here
}
从外观上看,带有.js.erb 文件扩展名。这应该有效。我可以在使用这个 JS 文件的视图中使用user_signed_in?。那为什么呢?
【问题讨论】:
-
试试这个`var user_signed_in = "";`
-
@Vishal 不起作用。
-
不应该吗?
<%= user_signed_in? %>。另外,你能在application布局中添加这个吗? -
为什么在 app/assets/javascripts/ 下有一个 *.js.erb 文件?您不应该在 app/views/ 下的某个视图中使用它吗?
-
@RicardoGreen 基本上,为什么任何解决方案都不起作用,因为你没有遵循 ror 的概念,你不应该使用 js 文件夹中的 js.erb 文件,“user_signed_in?”只是助手,您无法访问视图文件夹之外的内容。您正在尝试访问 js 文件夹。这就是为什么它给你错误。请遵循正确的结构
标签: javascript ruby-on-rails devise