2017-02-23 88 views
0

你好,我正試圖在我的ruby on rails應用程序中實現Trumbowyg emojis插件。所以我已經參考了下面的鏈接來獲得如何實現插件的指導。Ruby on Rails - 在rails應用程序中設置目錄的具體路徑

https://github.com/Alex-D/Trumbowyg/blob/master/examples/plugins/emoji.html

  $('#editor').trumbowyg({ 
      btns: [['emoji']] 
      }); 
      function initEmoji() { 
      emojify.setConfig({ 
       img_dir : '../../bower_components/emojify.js/dist/images/basic/', 
      }); 
      emojify.run(); 
      } 
      $('.trumbowyg-editor').bind('input propertychange', function() { 
      initEmoji(); 
      }); 
      initEmoji(); 

如何將圖像存儲在一個目錄下img_dir做參考目錄中Rails應用程序(如上圖所示)?

+0

運行資產管道後emojis會在哪裏結束? –

+0

我所做的就是將png文件放在一個名爲emojis的文件夾中,我將其置於我的rails應用程序的應用程序文件夾中。當我設置img_dir爲** img_dir時:「<%= Rails.root.join('app','emojis')%>」**,我在控制檯中輸入以下錯誤** GET http:/ /localhost:3000/Users/kendrick/Desktop/work/working_hantly/mvp/app/emojis/japanese_ogre.png 404(未找到)** @DaveNewton –

回答

0

選項1:嵌入到資產管道

不知道這個Javascript庫的作品究竟如何​​,圖像路徑需要被添加到資產管道。否則rake assets:precompile將不會在其生成的清單文件中包含所有表情符號圖像,並且不知道如何在生產環境中提供這些資產(假設默認的生產環境配置)。

見#配置/初始化/ assets.rb

# Add additional assets to the asset load path 
Rails.application.config.assets.paths << Rails.root.join('path', 'to', 'emoji', 'image', 'directory') 

選項2:服務從/public

靜態圖像的另一個選擇是在所有無助於從資產管道這些文件。將Asset Pipeline正確地提供給這些資產而不修改Javascript庫以在所有JS和CSS文件中使用asset-url可能是太麻煩了。

而是將文件複製到/public下的目錄,以便Rails應用程序可以爲它們提供服務。然後調整Javascript配置中的img_dir作爲文件在/ public中的路徑。例如:如果將文件放在/public/emoji_images中,則爲/emoji_images

取決於您如何託管應用程序,您可能必須在config/environments/production.rb中配置serve_static_files