0

我是新手。我正在关注的教程说在块之间输入的任何内容都将被打印/显示。但是,我一直没能做到。

https://www.youtube.com/watch?v=0OzDgi0zqJU

在 3:49,他打印出 hello 或块之间的任何单词。我做错了什么,它没有打印出我在块之间输入的任何内容。

<h1>All Posts</h1>

<% @posts.each do |post|  %> 
  Hello or something else 
<% end %>

结果:所有帖子

4

1 回答 1

0

我猜你的数据库中没有任何帖子(意味着@posts变量没有对象)。否则,对于每个帖子Hello 或其他内容将在 html 中打印。

当您想在 中打印某些内容时,只有当您想显示从数据库/从控制器实例变量/从帮助文件中获取的内容时.erb,您才必须将其包含在其中。<%= %>

如果你像下面的代码一样循环,那么你会得到不同:

<% 5.times do |t| %>
  Hello or something else
<% end %>

它将Hello or something else在 html 中打印五次。

假设您在数据库中的Post表包含一些数据。所以,我们可以这样做:

<% @posts.each do |post| %>
  <%= post.title %> # I assumed your post model contains a title attribute
<% end %>
于 2018-08-20T04:47:11.760 回答