Ich habe ein einfaches Gem für Ruby on Rails erstellt; Die Idee ist, dass es einige Code/Ansichten für gängige Aktionen (index/show/etc.) zur Verfügung stellt, die ich in einigen meiner Anwendungen verwende. Ich würde gerne in einem Gem "DRY it up".Rendern einer Ansicht von meinem Ruby on Rails Gem
Die Erstellung der Bedenken ging ohne Probleme, aber ich kann nicht ganz scheinen, um eine Sicht in meiner Anwendung zu rendern.
Zum Beispiel in meinem lib/rails_default_actions/rails_default_actions.rb
ich tun:
module RailsDefaultActions
module DefaultActions
extend ActiveSupport::Concern
respond_to do |format|
format.html { render 'default/index' }
end
end
end
end
Aber ein Fehler ausgelöst:
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"
ich schließlich irgendwie meinen Weg, um diesen Fehler zu hacken geschafft, aber es fühlt sich sehr klugdy und funktioniert in einigen Szenarien nicht. Was ist die richtige Methode zum Einschließen von Ansichten in ein Juwel?
Ich schaute auf die Erstellung einer Engine, aber das scheint wie Overkill, da ich nur ein Anliegen und ein paar Ansichten haben.
Ist die Ansicht, die Sie versuchen, in der App oder im Edelstein zu rendern? – eduardo
@eduardo Es ist nicht wirklich wichtig, aber das ist im Edelstein. – Carpetsmoker
Wenn Rails den Fehler meldet, werden die Pfade angezeigt, in denen nach der Ansicht gesucht wird. Es scheint mir, dass Ihre Sicht nicht im Lastpfad liegt. Konnte das möglich sein? – eduardo