我正在尝试扩展like-twitter 应用程序教程并包含我的第一个脚本(无论教程如何)。
我正在尝试制作一个仅在用户登录时才起作用的脚本(我发现我需要制定此规则,因为当用户未登录时我收到脚本错误)。
调用 js 文件static_pages.js.coffee
并包含如下代码:
micropost =
p: {
...
}
init: ->
...
$(document).ready ->
micropost.init()
由于代码与仅在用户登录时出现的微博相关,所以我需要一些规则来通知我。
我可以在主文件中放入views/layout/application.html.erb
一个带有如下变量的脚本:
<head>
<title><%=full_title(yield(:title)) %></title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<script type="text/javascript">
var signed_in = <%= signed_in? =>;
</script>
<%= csrf_meta_tags %>
<%= render 'layouts/shim' %>
</head>
但它看起来不像干净的方式,我的问题是:
- 我该怎么做?
- 我需要通过控制器来完成吗?(我不知道怎么...)
- 而且,我将 $(document).ready 放在 static_pages.js.coffee 中 - 我应该将它放在主 application.js 中,因为这是在构建 dom 后调用所有函数的调用吗?