新手问题 Rails4 项目中如果我需要加入一个.js asset 应该放到哪里呢

n00b1 · November 14, 2013 · Last by hxplove01 replied at November 14, 2013 · 2394 hits

我希望在一个表单 form_for 页面加入一个 jquery 的 datetime picker,请问我应该将这个单独的 js 文件放置在哪里并如何在_form.html.rb 中加以引用呢?问题很初级...

#_form.html.rb
#
<%= form_for @post do |f| %>
  <div class='control-group'>
    <%= f.label :starts_at %>
    <%= f.text_field :starts_at, class: "hasDatepicker" %>
  </div>
<%= f.submit(@post.new_record? ? "Submit" : "Update", class: "btn btn-primay") %>

js 文件如下,下载了放入 app/assets/javascripts? http://puna.net.nz/client/timepicker/js/tm.js http://puna.net.nz/timepicker.htm#

vendor/assets/javascripts

application.js

//= require xxx

or

_form.html.rb

<%= javascript_include_tag "xxx" %>

assets 启用时会自动加载 app 下 assets 目录里面的所有文件,你可以放在 app/assets/javascripts,也可以放在vendor/assets/javascripts,或者是你自己定义的目录,如果你只在一个页面会用到这个js的话,建议直接在erb中使用楼上说的javascript_include_tag,这样的话只在这一个页面会加载这个文件。但是要注意在发布production时需要将该文件加入到precompile。如果想简单一件,直接在application.js中require,在开发环境下因该可以直接看到该js了:)

You need to Sign in before reply, if you don't have an account, please Sign up first.