Ruby on rails Rails:从插件渲染部分

Ruby on rails Rails:从插件渲染部分,ruby-on-rails,ruby,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::De

在尝试从插件渲染部分内容后,出现缺少模板错误。我已包括以下文件:

%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 
%w{models controllers helpers view}。每个do|dir|
path=File.join(File.dirname(_File__),'app',dir)

$LOAD_PATH(从我的插件中的视图文件夹加载)

对于插件视图,您通常只需将它们复制到
app/views
目录,或者插件安装程序为您复制。视图在
$LOAD\u路径上的工作方式与模型和控制器不同。

对于插件视图,您通常只需将它们复制到
应用程序/视图
目录,或者插件安装程序为您复制。视图在
$LOAD_路径上的工作方式与模型和控制器不同。

在Rails 2.3中。*您的供应商/插件/XXXX/app/Views/目录自动包含在加载路径中。因此,当给定以下插件结构时:

供应商/plugins/your_plugin/app/views/shared/_box.html.erb

Yuppie!
您可以通过以下方式调用此部分,例如,
app/views/site/index.html.rb

<%= render 'shared/box' %>

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

供应商/plugins/your_plugin/app/views/shared/_box.html.erb

Yuppie!
您可以通过以下方式调用此部分,例如,
app/views/site/index.html.rb

<%= render 'shared/box' %>


您可能希望了解如何在开始时使用environment.rb中的config.load\u路径加载其他目录。好主意,但我正在为开发人员寻找现成的解决方案。您可能希望了解如何在environment.rb中使用config.load\u路径在开始时加载其他目录。好主意,但是我正在为developersOk寻找一个现成的解决方案。我想这个解决方案是可以的,因为开发人员不需要做任何事情,只需要一个rake就可以将他们移动到应用程序应用程序中,而不是插件的应用程序中,但我更愿意让它在插件应用程序中工作。构建插件的rails指南显示,模型、控制器和助手都可以访问,但是它没有解释视图。我偶然发现了另一个图坦卡蒙,它说视图将被加载,但它没有例子。我仍然使用Rails 2.2.2和引擎作为插件。引擎确实允许您对视图执行所需操作。更高版本的Rails集成了引擎,所以您可能想看看如何利用它。可能是过度杀伤力,这就是为什么我一开始没有建议。是的,这是过度杀伤力。安装插件后,我会将视图复制过来。好的。我想这个解决方案是可以的,因为开发人员不需要做任何事情,只需要一个rake就可以将他们移动到应用程序应用程序中,而不是插件的应用程序中,但我更愿意让它在插件应用程序中工作。构建插件的rails指南显示,模型、控制器和助手都可以访问,但是它没有解释视图。我偶然发现了另一个图坦卡蒙,它说视图将被加载,但它没有例子。我仍然使用Rails 2.2.2和引擎作为插件。引擎确实允许您对视图执行所需操作。更高版本的Rails集成了引擎,所以您可能想看看如何利用它。可能是过度杀伤力,这就是为什么我一开始没有建议。是的,这是过度杀伤力。安装插件后,我会将视图复制过来。