Ho creato una gemma semplice per Ruby on Rails; l'idea è che fornisce codice/viste per azioni comuni (index/show/etc.) che uso in molte delle mie applicazioni. Mi piacerebbe "ASCIUGARLA" in una gemma.Rendering di una vista dal mio Ruby on Rails Gem
La creazione di Concern è avvenuta senza problemi, tuttavia, non riesco a sembrare di riuscire a visualizzare una visualizzazione nella mia applicazione.
Ad esempio, nel mio lib/rails_default_actions/rails_default_actions.rb
che faccio:
module RailsDefaultActions
module DefaultActions
extend ActiveSupport::Concern
respond_to do |format|
format.html { render 'default/index' }
end
end
end
end
Ma viene generato un errore:
Missing template default/index with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :slim, :haml]}. Searched in:
* "/home/martin/myapp/app/views"
* "/home/martin/myapp/vendor/bundle/ruby/2.1.0/gems/devise-3.2.4/app/views"
* "/home/martin/myapp"
alla fine ho sorta di riuscito a incidere il mio modo per aggirare questo errore, ma si sente molto kludgey e non funziona in alcuni scenari. Qual è il modo corretto di includere le visualizzazioni in una gemma?
Ho cercato di creare un motore, ma mi sembra eccessivo, dal momento che ho solo una preoccupazione e alcuni punti di vista.
La vista che stai tentando di eseguire il rendering nell'app o nella gemma? – eduardo
@eduardo Non importa, ma questo è nella gemma. – Carpetsmoker
Quando Rails segnala l'errore, mostra i percorsi in cui si sta cercando la vista. Mi sembra che la tua vista non si trovi nel percorso di caricamento. Potrebbe essere possibile? – eduardo