Ruby块打印/显示问题

问题描述 投票:0回答:1

我是新手。我正在遵循的教程说明将打印/显示块之间输入的任何内容。但是,我无法做到这一点。

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

在3点49分,他在街区之间打印你好或任何字。我做错了什么,它不会打印我在块之间输入的任何内容。

<h1>All Posts</h1>

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

结果:所有帖子

ruby-on-rails ruby
1个回答
0
投票

我猜你的数据库中没有任何帖子(意味着@posts变量没有对象)。否则,对于每个帖子,Hello或其他内容将在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 %>
© www.soinside.com 2019 - 2024. All rights reserved.