如何从生成的脚手架到我的主页面使用ERB?

时间:2016-10-12 23:51:58

标签: ruby-on-rails controller routes models ruby-on-rails-5

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

我想将嵌入式ruby对象从scaffold添加到主页面。我不确定我是否必须对控制器,模型或路线做些什么。

例如:<%@ projects.title%>在我的主页上。截至目前,我收到了NoMethodError Undefined Method。我得到了,但我不知道如何排除故障。

这可能吗?

感谢。

1 个答案:

答案 0 :(得分:0)

你有两种方式......

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

<强> ..应用程序/控制器/ staticPages.rb

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

然后使用类似下面的内容在视图中迭代此集合

<强> ..应用/视图/ static_pages / main.html.erb

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

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

<强> ..应用/视图/ static_pages / main.html.erb

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