/ / Дорогоцінні камені, які мають активи, не додаються до config.assets.paths - jquery, ruby-on-rails, jquery-ui, rubygems, Property-pipeline

Дороги Rails, які мають активи, не додаються до config.assets.paths - jquery, ruby-on-rail, jquery-ui, rubygems, asset-pipeline

Я оновлюю програму Rails 3.0 до Rails 4.2. Додавши конвеєр активів у Rails 3.1, я помітив, що дорогоцінні камені, які містять активи, не додаються Rails.application.config.assets.paths

Я додав ці дорогоцінні камені до своїх Gemfile

gem "jquery-rails"
gem "jquery-ui-rails"

Я б очікував, що до цього додати ці каталоги Rails.application.config.assets.paths

 ~/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/jquery-ui-rails-5.0.5/app/assets/images
~/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/jquery-ui-rails-5.0.5/app/assets/javascripts
~/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/jquery-ui-rails-5.0.5/app/assets/stylesheets
~/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/jquery-rails-4.0.3/vendor/assets/javascripts

Однак він показує лише папки в моєму app/assets папку. Ось повний вихід Rails.application.config.assets. У мене така ж конфігурація в інших програмах Rails, де я не відчуваю цієї проблеми.

 {:_blocks=>
[#<Proc:0x007fa6070a9b50@~/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:126>,
#<Proc:0x007fa6070a9948@~/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:130>,
#<Proc:0x007fa6070a9600@~/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:137>,
#<Proc:0x007fa6070a8fc0@~/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:149>,
#<Proc:0x007fa6070a8958@~/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:153>,
#<Proc:0x007fa6070a87f0@~/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:157>],
:paths=>
["~/my-app/app/assets/images",
"~/my-app/app/assets/javascripts",
"~/my-app/app/assets/stylesheets"],
:precompile=>
[#<Proc:0x007fa6070ab680@~/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:84 (lambda)>,
/(?:/|\|A)application.(css|js)$/],
:prefix=>"/assets",
:manifest=>nil,
:quiet=>false,
:version=>"1.0",
:debug=>true,
:compile=>true,
:digest=>true,
:cache_limit=>52428800,
:gzip=>true,
:check_precompiled_asset=>true,
:compress=>false,
:raise_runtime_errors=>true,
:enabled=>true,
:logger=>false,
:resolve_with=>[:environment]}

Відповіді:

1 для відповіді № 1

Цілком ймовірно, у вас все ще є assets в групі Gemfile.

The assets Концепція групування - це реліквія з Rails 3 та було видалено в рейках 4.0

Rails 4.0 видалив групу активів із Gemfile. Вам потрібно буде видалити цей рядок із вашого Gemfile під час оновлення.

У додатку на рейках, який я нещодавно оновив з 3.0 до 4.0, включаючи дорогоцінні камені в assets Група запобігла включенню коштовних активів до складу Rails.application.config.assets.paths. Видалення assets групу з Gemfile, і оновлення пакету вирішило проблему.