Rails:从插件渲染部分

时间:2010-03-15 10:34:21

标签: ruby-on-rails ruby

尝试从插件渲染部分后,我收到了一个模板错误。我已经包含了以下文件:

%w{ models controllers helpers views }.each do  |dir| 
  path = File.join(File.dirname(__FILE__), 'app', dir) 
   $LOAD_PATH << path 
   ActiveSupport::Dependencies.load_paths << path 
   ActiveSupport::Dependencies.load_once_paths.delete(path) 
  end 

模型正在加载,但至于其他事情,我不确定发生了什么。帮助器也没有被加载,因为我只是从插件中复制了partial的内容而不是render:partial =&gt;然后它出现了一个助手错误。

问题是如何能够:render:partial =&gt;来自我的插件中的views文件夹

2 个答案:

答案 0 :(得分:1)

对于插件视图,您通常只需将它们复制到app/views目录,或者插件安装程序为您复制。视图不能像$LOAD_PATH那样在模型和控制器上工作。

答案 1 :(得分:0)

在Rails 2.3。*中,您的vendor / plugins / XXXX / app / views /目录自动包含在加载路径中。因此,当给出以下插件结构时:

供应商/插件/ your_plugin /应用/视图/共享/ _box.html.erb

Yuppie!

您可以从app/views/site/index.html.rb这样调用此部分:

<%= render 'shared/box' %>