Как сделать частичное в плагине из помощника плагина - PullRequest
0 голосов
/ 23 октября 2010

У меня есть помощник в моем плагине 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 с {: locale => [: en,: en],: format => [: html],: handlers => [: rjs,: rhtml,: haml,: builder,: rxml,: erb]} в путях просмотра "/ home / #### / workspace / my_application / app / views"

1 Ответ

1 голос
/ 06 января 2011

Следующее работает для меня в Rails 2.3.5 (то есть: он ищет этот партиал в vendor/plugins/test_plugin/app/views/test_plugin):

vendor / plugins / test_plugin / init.rb

require 'test_plugin'

vendor / plugins / 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

vendor / plugins / test_plugin / lib / test_plugin_helpers.rb

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

vendor / plugins / test_plugin / app / views/test_plugin/_test_partial.html.erb

Yuppie!

app / views / test.html.erb

<%= test_render %>

Нечто подобное должно работать и в Rails3.

...