我是新手。我遵循的教程说,在块之间输入的所有内容都会被打印/显示。但是,我无法做到这一点。
https://www.youtube.com/watch?v=0OzDgi0zqJU
在3:49,他在块之间打印出您好或任何单词。我做错了什么,它不能打印出我在块之间输入的任何内容。
<h1>All Posts</h1>
<% @posts.each do |post| %>
Hello or something else
<% end %>
结果:所有帖子
答案 0 :(得分:0)
我猜您的数据库中没有任何帖子(意味着@posts
变量没有对象)。否则,对于每个帖子,您好或其他内容将打印在html中。
当您要在.erb
中打印内容时,仅当您要显示从数据库/从控制器实例变量/从帮助程序文件中获取的内容时,才需要将其括在<%= %>
中。
如果您像下面的代码那样循环遍历,则会得到不同之处:
<% 5.times do |t| %>
Hello or something else
<% end %>
它将在html中打印Hello or something else
五次。
比方说,您数据库中的 Post 表包含一些数据。所以,我们可以像下面这样:
<% @posts.each do |post| %>
<%= post.title %> # I assumed your post model contains a title attribute
<% end %>