2015-05-27 2 views
1

В моем файле JS У меня есть некоторые конфиги какRails: путь таблицы стилей в JS-файла на производстве

skel.init({ 
     reset: 'full', 
     containers: '100%', 
     breakpoints: { 
      global: { href: '/assets/skel/style.scss', grid: { gutters: ['2.5em', 0] } }, 
      xlarge: { media: '(max-width: 1800px)', href: '/assets/skel/style-xlarge.scss' }, 
      large: { media: '(max-width: 1280px)', href: '/assets/skel/style-large.scss', grid: { gutters: ['2em', 0] } }, 
      medium: { media: '(max-width: 980px)', href: '/assets/skel/style-medium.scss'}, 
      small: { media: '(max-width: 736px)', href: '/assets/skel/style-small.scss', grid: { gutters: ['1.5em', 0] }, viewport: { scalable: false } }, 
      xsmall: { media: '(max-width: 480px)', href: '/assets/skel/style-xsmall.scss' } 
     } 
    }); 

, как вы можете видеть, что есть href s для CSS-файлов, как href: '/assets/skel/style.scss', которые содержат в app/assets/stylesheets/skel каталоге. В разработке он работает отлично, но при компиляции производственных активов и js не могут найти эти css-файлы.

Я пытался добавить config.assets.precompile += ['skel/*'] к production.rb компилировать skel активы skel каталога, но это не помогло

ответ

2

Если добавить .erb расширение для вашего файла JavaScript, вы можете использовать asset_path хелперы внутри JavaScript, который будет расширяться должным образом на активы прекомпилировать. Например, сделать файл JavaScript, чтобы быть some_filename.js.erb, то внутри, вы можете настроить пути к CSS, как это:

global: { href: '<%= stylesheet_path "skel/style" %>', grid: { gutters: ['2.5em', 0] } } 

и так далее ...

Для справки см http://api.rubyonrails.org/classes/ActionView/Helpers/AssetUrlHelper.html#method-i-stylesheet_path, чтобы выяснить, как stylesheet_path расширяется.

Смежные вопросы