【问题标题】:How to include CoffeeScript in Rails如何在 Rails 中包含 CoffeeScript
【发布时间】:2012-05-05 12:43:35
【问题描述】:

所以 CoffeeScript 从 3.1 开始就与 Rails 一起发布了?极好的!我正在进入语法。我喜欢简单。

然而,我似乎不知道如何将它包含在我的网站上。我已经尝试在两者之间包含它,但没有奏效。

我有一个我想要的 .erb 文件,new.html.erb(显然,这是一个 Rails 应用程序):

<script type="text/coffeescript">
# Countdown to date script provided by JavaScriptKit.com
# http://www.javascriptkit.com/script/script2/count.shtml

montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")

countdown(yr,m,d) ->
  today=new Date()
  todayy=today.getYear()

if (todayy < 1000)
  todayy+=1900
  todaym=today.getMonth()
  todayd=today.getDate()
  todaystring=montharray[todaym]+" "+todayd+", "+todayy
  futurestring=montharray[m-1]+" "+d+", "+yr

  difference=(Math.round((Date.parse(futurestring)-Date.parse(todaystring))/(24*60*60*1000))*1)

if (difference==0) and document.write(current)
  elseif (difference>0) document.write("ONLY "+difference+" DAYS LEFT!")

countdown(2012,4,30)

</script>​

而且它根本没有出现。想法?

【问题讨论】:

    标签: ruby-on-rails coffeescript


    【解决方案1】:

    如果您启用了 CoffeeScript,Rails 将为您在 app/assets/javascripts 中的每个控制器生成一个 .js.coffee 文件。这就是你的 CoffeeScript 所属的地方,你不需要包含 script 标签。

    阅读指南:http://guides.rubyonrails.org/asset_pipeline.html

    【讨论】:

    • 好的,但是我如何在我的 new.html.erb 文件中调用它?这是一个倒计时脚本。
    • 您可以像调用任何 javascript 倒计时函数一样调用 coffescript 倒计时函数。 Coffescript 在编译期间被转换为 javascript。如果您没有阅读并理解资产管道指南,您将不会走得太远。
    • 但现在它只产生 .coffee 而不是 .js.coffee
    【解决方案2】:

    这不是一个好的做法,但您可以选择使用基于 js 的咖啡脚本编译器在客户端评估咖啡脚本。检查official guide

    【讨论】:

      猜你喜欢
      • 2013-08-08
      • 2013-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多