簡體   English   中英

ActiveAdmin中的Rails應用程序非常奇怪的錯誤

[英]rails app very weird error in activeadmin

我的簡單Rails 4.2.5應用程序中有一個錯誤,正在Windows上破壞該應用程序。 我具有活動的管理人員gem,並且在昨天按照此處的說明將Active_admin JS和CSS排除在Rails應用程序的加載范圍之外之前,仍可以正常工作。 我將在這里重復教程的內容,以防鏈接更改:

創建文件夾app / assets / javascripts / admin和app / assets / stylesheets / admin並將文件active_admin.js和active_admin.css.scss分別移動到這些文件夾中。

創建文件夾app / assets / javascripts / admin和app / assets / stylesheets / admin並將文件active_admin.js和active_admin.css.scss分別移動到這些文件夾中。

在您的app / assets / stylesheets / application.css.scss中,您會在頂部附近找到以下內容:

 *= require_self
 *= require_true .

更改為:

 *= require_self
 *= require_directory .

對application.js執行相同的操作。

重新包含活動admin中的文件。罪魁禍首是active_admin的asset_registration.rb和application.rb:

def register_default_assets
  register_stylesheet 'active_admin.css'
  register_javascript 'active_admin.js'
end

要清除這些文件並用新文件替換它們,請將以下內容添加到config / initializers / active_admin.rb的底部:

config.clear_stylesheets!
config.register_stylesheet 'admin/active_admin.css'

config.clear_javascripts!
config.register_javascript 'admin/active_admin.js'

Heroku部署問題部署到heroku時,您可能會在日志中看到以下內容:

Started GET "/admin/login" for 146.115.108.146 at 2011-12-22 16:03:32 +0000

ActionView::Template::Error (admin/active_admin.css isn't precompiled):
    6:   <title><%= [

    7: 
    8:   <% ActiveAdmin.application.stylesheets.each do |path| %>
    9:     <%= stylesheet_link_tag path %>
    10:   <% end %>



    12:     <%= javascript_include_tag path %>
    11:   <% ActiveAdmin.application.javascripts.each do |path| %>

如本期中所述,需要對文件進行預編譯以進行生產。 將以下內容添加到application.rb(或選擇的配置文件)中:

config.assets.precompile += %w[admin/active_admin.css admin/active_admin.js]

我確實完成了該教程中的操作,但是當我訪問http:// localhost:3000 / admin時,這個漢字出現了一個非常奇怪的錯誤,它重定向到http:// localhost:3000 / admin / login並顯示此錯誤757意外在以下位置標記:...(由於堆棧溢出,垃圾郵件過濾器不允許中文字符,因此我無法將錯誤粘貼為文本)。 在此處輸入圖片說明 在此處輸入圖片說明

在base.js.coffee中:

#= require jquery
#= require ./jquery_ui
#= require jquery_ujs
#= require_self
#= require_tree ./lib
#= require_tree ./ext
#= require ./application

window.ActiveAdmin = {}

有什么想法嗎?

經過艱苦的工作,這對我來說是解決方案:

在config / initializers / active_admin.rb中:更改此:

 config.clear_stylesheets!
config.register_stylesheet 'admin/active_admin.css'

config.clear_javascripts!
config.register_javascript 'admin/active_admin.js'

對此:

config.clear_stylesheets!
config.register_stylesheet 'admin/active_admin'

config.clear_javascripts!
config.register_javascript 'admin/active_admin'

在config / initializers / assets.rb中添加:

Rails.application.config.assets.precompile += %w( admin/active_admin.js )
Rails.application.config.assets.precompile += %w( admin/active_admin.css )

config / application.rb已刪除:

   config.assets.precompile += %w( /admin/active_admin.css.scss )
    config.assets.precompile += %w( /admin/active_admin.js.coffee )

暫無
暫無

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

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