我用 rails 3.1.rc.1 创建了一个简单的引擎,一切都很好。
当我更改引擎 app/assets 和 app/views/layout 应用程序布局文件中的任何内容时,它不会被加载。
但是当我在 test/dummy/app/views 或 assets 文件中的虚拟应用程序中进行更改时,它会得到反映。
不知道如何告诉引擎使用自己的资产/布局而不是虚拟应用程序?
我用 rails 3.1.rc.1 创建了一个简单的引擎,一切都很好。
当我更改引擎 app/assets 和 app/views/layout 应用程序布局文件中的任何内容时,它不会被加载。
但是当我在 test/dummy/app/views 或 assets 文件中的虚拟应用程序中进行更改时,它会得到反映。
不知道如何告诉引擎使用自己的资产/布局而不是虚拟应用程序?
你试过这个布局吗?
module MyEngine
class ApplicationController < ActionController::Base
layout "application" # or the name of the layout to use in the application
end
end
仔细检查您的代码
如果您的资产管道已启用?配置/应用程序.rb
config.assets.enabled = true
在 rails3.1 中,app/view/layout 添加样式表和 javascript 应该是这样的:
<%= stylesheet_link_tag "mystylesheetname" %>
<%= javascript_include_tag "myjavascriptname" %>
您可以在 config/application.rb 中向管道添加额外的(完全限定的)路径。
config.assets.paths << "#{Rails.root}/app/assets/mystylesheet"
如果您在视图的资产/图像中访问图像,您应该这样做:
<%= image_tag "rails.png" %>
再次清空文件夹 tmp\cache, rails s
@ivanLee,@Pixoo
当 Rails 在 3.1.rc.1 中时,我会提出这个问题
后来随着稳定的 Rails 3.1.x 发布,我在同一个引擎中重新生成了插件并覆盖了更改的代码。默认情况下它可以毫无问题地工作。
但是@ivanLee,
您的提示可能会解决我遇到的问题,即我无法通过 sprocket 使用其他文件中设置的 SASS 变量。
如果我完全使用 SASS 路径,使用@import somesass_or_sass_partial
,它可以在开发中工作,但是当我这样做时RAILS_ENV=development bundle exec rake assets:compile
,构建失败并出现奇怪的错误。