Pergunta

Estou escrevendo uma jóia que fornece ajudantes para visualizações. O HTML que eu quero inserir através do ajudante é complexo o suficiente para que eu prefira escrevê -lo em um arquivo _parcial.html.erb. Como faço para obter o caminho da visualização da GEM no Inclua no load_path do aplicativo?

Nota: a única jóia que encontrei que faz algo assim é inventar. Quando uma visualização não pode ser encontrada, os trilhos impressam o caminho de carga que (na minha máquina) se parece:

Missing partial sortable_nested_set/tree with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en, :en]} in view paths "/home/jason/VirtualRestaurant3/app/views", "/home/jason/.rvm/gems/ruby-1.9.2-preview3/gems/devise-1.1.rc0/app/views"

Como o Devise faz isso?

Minha jóia: http://github.com/jrmurad/sortableretestetDevive Gem: +http: //+github.com/plataformatec/devise

Foi útil?

Solução

Se você colocar o diretório 'aplicativo' no diretório base do seu plug -in, os trilhos adicionarão o aplicativo/visualizações ao caminho da visualização por padrão.

.
├── app
│   └── views
│       └── plugin_name
│           └── _my_partial.html.erb

Então você pode renderizar o parcial do método auxiliar do seu plug -in com:

render :partial => "plugin_name/my_partial"

Observe que os Rails não disponibilizam as visualizações por padrão no ambiente de teste de plug -in. Para incluí -los, adicione o seguinte ao teste/test_helper.rb:

ActionController::Base.prepend_view_path File.dirname(__FILE__) + "/../app/views"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top