9

安装 active_admin - 我更新了我的 gem,确实

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

4 回答 4

17

我使用 Window XP sp3 来处理 Rails

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

解决方案:

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

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

创建符号链接

  • 写入您的控制台“C:\> junction C:\myApp D:\rails_projects\myApp

运行 myApp

没关系..!!!!

于 2012-02-22T05:39:57.457 回答
14

解决此问题的最简单方法(至少对我而言)是将项目 gem 捆绑到项目文件夹本身中。从您的项目文件夹中:

捆绑安装 --path .bundle

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

于 2012-08-15T23:56:48.663 回答
2

只需将/assets/stylesheets/ * 移动到您的项目/lib/assets/stylesheets即可。

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

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

于 2011-11-07T23:18:57.280 回答
0

我设法解决了这个问题:

1) 将带有样式表的文件夹从活动管理 gem 文件夹复制到您的应用程序的资产中,我有它:c:\RailsInstaller\Ruby1.9.2\lib\ruby\gems\1.9.1\gems\activeadmin-0.3.2\app \assets\stylesheets\active_admin\

2) 将 assets 中的这个文件夹重命名为“my_active_admin”(你不能把它留给“active_admin”——这行不通)

3) 在此文件夹中的两个文件中的 css.sss 路径中将“active_admin\”替换为“my_active_admin\” :_base.css.scss 和 _mixings.css.scss以及active_admin.css.scss

如果您使用它,请忘记删除/修复application.css 中的需求树

瞧!不用担心更新管理页面 =)

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

于 2011-10-25T21:39:52.533 回答