簡體   English   中英

使用Active_Admin gem錯誤“不同的前綴:”

[英]Error “different prefix:” with Active_Admin gem

安裝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似乎與解決方案的錯誤相同,但我不明白需要做什么才能使錯誤消失。

請幫忙 :)

我使用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:\\> junction C:\\ myApp D:\\ rails_projects \\ myApp

運行myApp

沒關系..!!!!

解決此問題的最簡單方法(至少對我來說)是將項目寶石捆綁到項目文件夾本身。 從項目文件夾中:

bundle install --path .bundle

這會將項目請求的gem安裝到項目內的.bundle文件夾中。 對bundle exec的后續調用將記住使用這個gems緩存,並應該緩解上面的錯誤。

只需將/ assets / stylesheets / *移動到項目/ lib / assets / stylesheets即可

無需重命名任何文件或依賴項,因為此路徑位於任何gem路徑之前。

您可以通過啟動rails控制台檢查資產路徑堆棧: rails c並執行以下命令: y Rails.application.config.assets.paths

我成功地解決了這個問題:

1)將帶有樣式表的文件夾從活動的admin gem文件夾復制到你的應用程序的聲明,我在這里:c:\\ RailsInstaller \\ Ruby1.9.2 \\ lib \\ ruby​​ \\ gems \\ 1.9.1 \\ gems \\ activeadmin-0.3.2 \\ app \\資產\\樣式表\\ 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中刪除/修復require樹

瞧! 更新管理頁面,無需擔心=)

雖然我不太喜歡這樣的解決方案,但是需要過多的黑客攻擊...但是現在你可以自由地定制活動管理員的外觀和感覺,並且它變成了不是黑客的錯誤,但是對於功能= )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM