2011-11-25 93 views
0

我已經把的fancybox(jQuery插件)內部資產/ JavaScript的/包括/ jquery.fancybox-1.3.4的Rails 3.1.3無法訪問內部資產/ JavaScript的文件夾中的文件

這個位置之前,我也嘗試過把它放在/ vendor/assets/stylesheets/jquery目錄下。

我得到這個奇怪的錯誤&爲什麼不導軌能夠獲得特定的文件時,它在那裏。

-------------開發日誌----------------

入門使用「/供應商/資產/樣式表/ jQuery的.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.pack.js「for 127.0.0.1 at 2011-11-25 13:30:42 -0800

ActionController :: RoutingError(No route matches [GET] 「/vendor/assets/stylesheets/jquery.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.pack.js」):

渲染/Users/jayparteek/.rvm/gems/內救援/佈局[email protected]/gems/actionpack-3.1.3/lib/action_dispatch/middleware/templates/rescues/routing_error.erb( 0.5ms)

--------------日誌2 -------------------------

的ActionController :: RoutingError(無路由匹配[GET] 「/vendor/assets/javascripts/fancybox-1.3.4/jquery.fancybox-1.3.4.pack.js」):

回答

0

Rails不加載你的*/assets/javascripts樹自動,只是該目錄中的文件。並且默認情況下,它只會預編譯application.js和任何與非.js擴展。

我建議你重命名文件的fancybox只是fancybox-1.3.4.js。使用Rails 3.1,資產連接起來並輸出前精縮,所以沒有太大的必要,甚至使用縮小的版本,但如果你這樣做不會傷害任何東西。

你應該把jQuery插件直接在vendor/assets/javascripts/,然後將它們包括到app/assets/javascripts相應的文件(可能application.js),像這樣(假設的application.js):

//= require jquery 
//= require fancybox-1.3.4 
//= [any other requires here] 
//= require_self 

然後你在佈局中使用javascript_include_tag 'application' 。瞧!

+0

裏面的application.js我粘貼// =的fancybox-1.3.4。 &我把fancybox文件放在需要的文件夾中。它仍然給了我這個錯誤。我知道那個文件在那裏。 3000 /資產/ name_of_file:在頂部 –

+0

早些時候,我無法從本地主機達到資源文件粘貼。但後來我直接劃歸供應商/資產/的fancybox-1.3.4 –

+0

這是錯誤的內容:'供應商/資產/ JavaScript的/的fancybox-1.3.4/jquery.fancybox-1.3.4.pack.js'。你不*需要'fancybox-1.3.4'目錄。 – coreyward