使用Active_Admin gem错误“不同的前缀:”

时间:2011-10-12 12:22:23

标签: ruby-on-rails activeadmin

安装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文件夹确实位于不同的驱动器中(从未认为这很重要)

更新

我发现这个http://github.com/rails/rails/issues/660似乎与解决方案的错误相同,但我不明白需要做什么才能使错误消失。

请帮助:)

4 个答案:

答案 0 :(得分:17)

我使用Window XP sp3来处理Rails

  • 我的Ruby安装程序的路径是 C:\ Ruby193
  • 我的项目路径是 D:\ rails_projects \ myApp

解决方案:

获取“Junction.exe”,在Windows Vista中用于“mklink”

  • 下载junction.exe
  • 将Junction.exe复制到 C:\ Windows \ System32 \

创建simbolic链接

  • 写入您的控制台“C:\&gt; 联结C:\ myApp D:\ rails_projects \ myApp

运行myApp

没关系.. !!!!

答案 1 :(得分:14)

解决此问题的最简单方法(至少对我来说)是将项目宝石捆绑到项目文件夹中。从项目文件夹中:

捆绑安装 - 路径.bundle

这会将项目请求的gem安装到项目内的.bundle文件夹中。对bundle exec的后续调用将记住使用这个gems缓存,并应该缓解上面的错误。

答案 2 :(得分:2)

/ assets / stylesheets / *移至您的项目 / lib / assets / stylesheets

无需重命名任何文件或依赖项,因为此路径位于任何gem路径之前。

您可以通过启动rails控制台检查资产路径堆栈:rails c并执行以下操作:y Rails.application.config.assets.paths

答案 3 :(得分:0)

我成功地解决了这个问题:

1)将带有样式表的文件夹从活动的admin 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”替换为此文件夹中两个文件中css.sss 的路径中的“my_active_admin”:_base.css.scss和_mixings.css.scss 以及<强> active_admin.css.scss

如果你使用它,那么忘记在application.css中删除/修复需要树

瞧!更新管理页面,无需担心=)

虽然我不太喜欢这种解决方案,因为需要过多的黑客攻击...... 但是现在你可以自由地自定义活动管理员的外观和感觉,它变成不是黑客的bug,但是对于功能=)