能够将精炼厂集成到现有的rails应用程序中,但资产预编译失败并出现错误:
cannot load such file -- refinery_patchapplication.rb包含代码:
config.autoload_paths += Dir["#{config.root}/lib/**/"] # to load files from lib directory, including subfolders
config.before_initialize do
require 'refinery_patch'
require 'restrict_refinery_to_refinery_users'
end
include Refinery::Engine
after_inclusion do
[ApplicationController, ApplicationHelper].each do |c|
c.send :include, ::RefineryPatch
end
::Refinery::AdminController.send :include, ::RestrictRefineryToRefineryUsers
::Refinery::AdminController.send :before_filter, :restrict_refinery_to_refinery_users
endrefinery_patch文件保存在库/精炼厂中。
module RefineryPatch
def self.included(base)
base.send :helper_method,
:current_refinery_user,
:refinery_user_signed_in?,
:refinery_user? if base.respond_to? :helper_method
end
def current_refinery_user
current_user
end
def refinery_user_signed_in?
user_signed_in?
end
def refinery_user?
refinery_user_signed_in? && current_refinery_user.has_role?(:refinery)
end
def authenticate_refinery_user!
authenticate_user!
end
def store_location
session[:return_to] = request.fullpath
end
def redirect_back_or_default(default)
redirect_to(session[:return_to] || default)
session[:return_to] = nil
end
end不确定为什么不能加载文件,而config.autoload_paths告诉加载库文件夹中的所有文件
发布于 2013-09-27 23:32:25
遇到同样的问题,在这里找到了解决办法。
http://refinerycms.com/guides/heroku
您必须在config/application.rb . in中设置以下内容
config.assets.initialize_on_precompile = truehttps://stackoverflow.com/questions/18440516
复制相似问题