Rails:从插件中渲染部分内容
我尝试从插件中渲染部分后,我得到了一个丢失的模板错误。 我已经包含以下文件:
%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 =>然后它出现了一个帮助器错误。
问题是如何能够:我的插件中的views文件夹中的:render:partial =>
对于插件视图,您通常只需将它们复制到app/views
目录,或者插件安装程序为您复制。 视图不能像$LOAD_PATH
在模型和控制器上工作。
在Rails 2.3。*中,您的vendor / plugins / XXXX / app / views /目录自动包含在加载路径中。 因此,当给出以下插件结构时:
供应商/插件/ your_plugin /应用/视图/共享/ _box.html.erb
Yuppie!
您可以从例如app/views/site/index.html.rb
调用此部分,如下所示:
<%= render 'shared/box' %>