в rails у меня был бы контроллер для виджетов с методами index, show и crud.
у контроллера index был бы простой
@widgets = Widget.all
respond_to do |format|
format.html
format.json {render :json => @widgets}
затем на моей домашней странице или на любой странице в моей основной папке приложений я мог бы сказать
<% @widgets.each do |w| %>
<p><%= w.name %></p>
<%end%>
В Refinery у меня есть движок виджетов, а контроллеры в этих движках не имеют стандартных методов index, show и crud. Если я переопределяю домашнее действие в файле Refinery pages_controller.rb с помощью приведенного выше кода, я получаю сообщение об ошибке
неинициализированная константа Refinery::PagesController::Widget
Мой вопрос: как я могу ссылаться на классы в своих двигателях нефтепереработки, чтобы я мог включать их в свои представления из моего основного приложения rails?
Пример: app.main.views.index.html.erb
<h1> this is my home page. We sell all sorts of stuff including: </h1>
<% @widgets.each do |w| %>
<p><%= w.name %></p>
<%end%>
<% @gadgets.each do |g| %>
<p><%= g.name %></p>
<%end%>
где и виджеты, и гаджеты являются двигателями переработки. У меня есть приложение vanilla rails, которое делает именно это, и оно работает, но я хотел бы знать, как это сделать на нефтеперерабатывающем заводе, потому что выяснение этого откроет для меня мир. Может ли кто-нибудь посоветовать или указать на какую-то документацию, которую я мог упустить из виду, которая поможет.
EDIT Это домашнее действие в моем файле pages_controller.rb, расположенном в каталоге app>controllers>refinery:
def home
@widgets = Widget.all
respond_to do |format|
format.html
format.json { render json: @widgets}
end
#render_with_templates?
end