如何将生成的脚手架中的 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 %>
我有一个当前静态的主页,还有一组从脚手架生成的页面。
我想将嵌入的 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 %>