如何将生成的脚手架中的 ERB 用于我的主页?

How can I use ERB from a generated scaffold to my main page?

我有一个当前静态的主页,还有一组从脚手架生成的页面。

我想将嵌入的 ruby 对象从脚手架添加到主页。我不确定我是否必须对控制器、模型或路线做些什么。

例如:<% @projects.title %> 在我的主页上。截至目前,我收到了 NoMethodError 未定义方法。我明白了,但我不知道如何排除故障。

这可能吗?

谢谢。

你有两种选择...

第一步是通过静态页面控制器加载实例变量

..app/controllers/staticPages.rb

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

然后您在视图中使用类似于以下内容的方式遍历此集合

..app/views/static_pages/main.html.erb

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

或者您可以只从您的视图中加载集合

..app/views/static_pages/main.html.erb

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