2016-10-12 1 views
0

У меня есть главная страница, которая в настоящее время является статичной, и у меня также есть группа страниц, которые я создал на эшафоте.Как я могу использовать ERB из сгенерированного леса на моей главной странице?

Я хотел бы добавить внедренные объекты ruby ​​с эшафота на главную страницу. Я не уверен, что мне нужно что-то сделать с контроллером, моделями или маршрутами.

Например: <% @ projects.title%> на моей главной странице. На данный момент я получаю NoMethodError Undefined Method. Который я получаю, но я застрял в том, как устранить неполадки.

Возможно ли это?

Спасибо.

+0

На главной странице есть контроллер? –

ответ

0

Вы либо пути ...

первым является загрузка переменной экземпляра через статический контроллер страниц

..app/Контроллеры/staticPages.rb

class StaticPagesController < ApplicationController 
    ...  
    def mainPage 
    @projects = Project.all 
    end 
    ... 
end 

Тогда вы итерации по этой коллекции на ваш взгляд, используя примерно следующее:

..app/просмотров/static_pages/main.html.erb

<% @projects.each do |project| %> 
    <div> 
    ... 
    <p><%= project.name %></p> 
    <p><%= project.other_stuff %></p> 
    ... 
    </div> 
<% end %> 

Или вы можете просто загрузить коллекцию с вашей точки зрения

..app/просмотров/static_pages/main.html.erb

<% Project.all.each do |project| %> 
    <div> 
    ... 
    <p><%= project.name %></p> 
    <p><%= project.other_stuff %></p> 
    ... 
    </div> 
<% end %> 
+0

'<% Project.all.each do | project | %> 'Это плохая идея поставить' query' в ваш файл вида. И с вашим 'именем контроллера' как' mainPage', вы должны поместить 'mainpage.html.erb' в качестве своего файла вида. –