Ошибка "другой префикс:" с гемом Active_Admin - PullRequest
9 голосов
/ 12 октября 2011

для установки active_admin - я обновил свои драгоценные камни, сделал

rails generate active_admin:install
rake db:migrate

и затем я хочу перейти на localhost: 3000 / admin

, и я получаю эту страницу ошибки

ArgumentError in Active_admin/devise/sessions#new

Showing D:/Ruby192/lib/ruby/gems/1.9.1/gems/activeadmin-0.3.2/app/views/layouts/active_admin_logged_out.html.erb where line #9 raised:

different prefix: "D:/" and "C:/project/app/assets/stylesheets"
  (in C:/project/app/assets/stylesheets/active_admin.css.scss)
Extracted source (around line #9):

6:   <title><%= [@page_title, active_admin_application.site_title].compact.join(" | ") %></title>
7: 
8:   <% ActiveAdmin.application.stylesheets.each do |path| %>
9:     <%= stylesheet_link_tag path %>
10:   <% end %>
11:   <% ActiveAdmin.application.javascripts.each do |path| %>
12:     <%= javascript_include_tag path %>
Rails.root: C:/project

Application Trace | Framework Trace | Full Trace
Request

Parameters:

None
Show session dump

Show env dump

Response

Headers:

None

Обратите внимание, что папка проекта и папка ruby ​​действительно находятся на разных дисках (никогда не думал, что это имеет значение)

Обновление :

Iнашел это http://github.com/rails/rails/issues/660, что похоже на ту же ошибку с решением, но я не понимаю, что нужно сделать, чтобы ошибка исчезла.

Пожалуйста, помогите:)

Ответы [ 4 ]

17 голосов
/ 22 февраля 2012

Я использую Window XP sp3 для работы с Rails

  • Путь моего установщика Ruby: C: \ Ruby193
  • Путь моего проекта: D: \ rails_projects \ myApp

Решение:

Get "Junction.exe", в Windows Vista используется" mklink "

  • Загрузка junction.exe
  • Копирование Junction.exe в C: \ Windows\ System32 \

Создать символическую ссылку

  • Записать в консоль "C: \> соединение C: \ myAppD: \ rails_projects \ myApp"

Запустите myApp

Все нормально .. !!!!

14 голосов
/ 16 августа 2012

Самый простой способ (по крайней мере для меня), чтобы обойти эту проблему, состоит в том, чтобы поместить ваши драгоценности проекта в саму папку проекта. Из папки вашего проекта:

комплект установки --path .bundle

Это устанавливает запрошенные жемчужины вашего проекта в папку .bundle внутри проекта. Последующие вызовы bundle exec будут помнить об использовании этого кэша драгоценных камней и должны уменьшать количество ошибок, указанных выше.

2 голосов
/ 08 ноября 2011

Просто переместите / assets / stylesheets / * в свой проект / lib / assets / stylesheets .

Нет необходимости переименовывать какие-либо файлы или зависимости, так как этот путь предшествует любому пути к гему.

Вы можете проверить свой стек путей активов, запустив консоль rails: rails c и выполнив следующее: y Rails.application.config.assets.paths.

0 голосов
/ 26 октября 2011

Мне удалось обойти это:

1) Скопируйте папку с таблицами стилей из активной папки gem администратора в сборки вашего приложения, она у меня здесь: C: \ RailsInstaller \ Ruby1.9.2 \ Lib \ рубин \ самоцветы \ 1.9.1 \ самоцветов \ activeadmin-0.3.2 \ приложение \ активы \ таблицы стилей \ active_admin \

2) Переименуйте эту папку в ресурсах, например, в «my_active_admin» (вы не можете оставить ее «active_admin» - это не будет работать)

3) Замените «active_admin \» на «my_active_admin \» в путях к css.sss в двух файлах в этой папке: _base.css.scss и _mixings.css.scss , а также в active_admin.css.scss

И не забудьте удалить / исправить требуется дерево в application.css, если вы его используете.

Вуаля! Обновляйте админку без страха =)

Хотя мне не нравятся такие решения с точки зрения необходимости чрезмерных взломов ... НО теперь вы можете свободно настраивать внешний вид активного администратора, и это оказывается не хаком для ошибки, а для функции =)

...