如何从插件助手中渲染插件中的部分内容

时间:2010-10-22 20:48:31

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-plugins render partial

我的插件中有一个帮助 test_plugin / lib / test_helper.rb

module TestHelper
  def test_render
    render 'test_plugin/test_partial'
  end
end

我有部分 test_plugin / app / views / test_plugin / _test_partial.html.erb

<p>Hello World!</p>

在我的应用程序 app / views / tests / index.html.erb 中执行此操作时:

<%= test_render %>

我收到以下错误:

  

缺少部分   test_plugin / test_partial with   {:locale =&gt; [:en,:en],   :formats =&gt; [:html],:handlers =&gt; [:rjs,   :rhtml,:haml,:builder,:rxml,:erb]}   在视图路径中   “/家/ #### /工作区/ my_application之类/应用/视图”

1 个答案:

答案 0 :(得分:1)

以下适用于Rails 2.3.5(即:它在vendor/plugins/test_plugin/app/views/test_plugin中搜索此部分):

供应商/插件/ test_plugin / init.rb

require 'test_plugin'

供应商/插件/ test_plugin / LIB / test_plugin.rb

require 'test_plugin_helpers'

# Helpers will be available in all controllers
ActionController::Base.send :include, TestPlugin::Helpers

# Helpers will be available in the views
ActionView::Base.send :include, TestPlugin::Helpers

供应商/插件/ test_plugin / LIB / test_plugin_helpers.rb

module TestPlugin
  module Helpers
    def test_render
      render 'test_plugin/test_partial'
    end
  end
end

供应商/插件/ test_plugin /应用/视图/ test_plugin / _test_partial.html.erb

Yuppie!

应用程序/视图/ test.html.erb

<%= test_render %>

类似的东西也应该在Rails3中起作用。