【发布时间】:2012-08-28 17:44:18
【问题描述】:
我正在尝试扩展 like-twitter application tutorial 并包含我的第一个脚本(不管教程如何)。
我正在尝试制作一个仅在用户登录时才起作用的脚本(我发现我需要制定此规则,因为当用户未登录时我会收到脚本错误)。
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 后调用所有函数的调用吗?
【问题讨论】:
标签: javascript ruby-on-rails model-view-controller coffeescript