如何配置Rails3.1引擎使用其应用程序布局和scss?

时间:2011-05-26 06:58:43

标签: ruby-on-rails ruby-on-rails-3.1

我使用rails 3.1.rc.1创建了一个简单的引擎 一切都很好。

当我更改引擎app / assets和app / views / layout应用程序布局文件中的任何内容时,它不会被加载。

但是当我在test / dummy / app / views或assets文件中的虚拟应用程序中进行更改时,它会被反映出来。

无法弄清楚如何告诉引擎使用自己的资产/布局而非虚拟应用?

3 个答案:

答案 0 :(得分:1)

您是否尝试过布局?

module MyEngine
  class ApplicationController < ActionController::Base
    layout "application" # or the name of the layout to use in the application
  end
end

答案 1 :(得分:0)

仔细检查您的代码

  1. 如果您的资产管道已启用? 配置/ application.rb中

    config.assets.enabled = true

  2. 在rails3.1中,app / view / layout添加样式表&amp; javascript应该像:

    &lt;%= stylesheet_link_tag“mystylesheetname”%&gt;

    &lt;%= javascript_include_tag“myjavascriptname”%&gt;

  3. 您可以在config / application.rb中向管道添加其他(完全限定的)路径。

    config.assets.paths&lt;&lt; “#{Rails.root} /应用/资产/ mystylesheet”

  4. 如果您访问视图中资源/图片中的图片,则应执行以下操作:

    &lt;%= image_tag“rails.png”%&gt;

  5. 再次清空文件夹tmp \ cache,rails s

答案 2 :(得分:0)

@ivanLee,@ Pixoo

我在3.1.rc.1中的Rails

时提出了这个问题

稍后发布了稳定的Rails 3.1.x,我在同一个引擎中重新生成了插件并覆盖了更改的代码。默认情况下它没有任何问题。

但@ivanLee,

您的提示可能解决我遇到的问题是我不能通过链轮使用其他文件中的SASS变量集。

如果我完全使用SASS路径,使用@import somesass_or_sass_partial,它可以在开发中工作,但是当我执行RAILS_ENV=development bundle exec rake assets:compile时,构建失败并出现奇怪的错误。