Stworzyłem prosty klejnot dla Ruby on Rails; chodzi o to, że zapewnia on pewien kod/widoki dla wspólnych działań (index/show/etc.), których używam w kilku moich aplikacjach. Chciałbym "wyschnąć" w klejnocie.Rendering widok z mojej Ruby on Rails Gem
Tworzenie Koncertu przebiegło bezproblemowo, jednak nie wydaje mi się, aby udało mi się wyrenderować widok w mojej aplikacji.
Na przykład w moim lib/rails_default_actions/rails_default_actions.rb
zrobić:
module RailsDefaultActions
module DefaultActions
extend ActiveSupport::Concern
respond_to do |format|
format.html { render 'default/index' }
end
end
end
end
Ale powstaje błąd:
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"
I w końcu jakby udało się włamać drogi wokół tego błędu, ale czuje się bardzo kludgey i nie działa w niektórych scenariuszach. Jaki jest poprawny sposób dołączania widoków w klejnocie?
Spojrzałem na tworzenie silnika, ale to wydaje się przesadą, ponieważ mam tylko obawy i kilka widoków.
Czy widok, który chcesz renderować w aplikacji lub w klejnocie? – eduardo
@eduardo To naprawdę nie ma znaczenia, ale to jest w Klejnocie. – Carpetsmoker
Gdy Railsy zgłaszają błąd, pokazuje ścieżki, w których szuka się widoku. Wydaje mi się, że twój widok nie znajduje się na ścieżce ładowania. Czy to możliwe? – eduardo