Rails - 显示发布后数据库记录的索引操作

时间:2016-02-26 21:08:00

标签: ruby-on-rails

我不确定我在这里做错了什么,但我的索引操作是直接从每个记录下面的数据库返回一堆信息:

First Post!!!

Hello. This is my first blog post
[#<Post id: 1, user_id: nil, title: "First Post!!!", 
content: "Hello. This is my first blog post", created_at: "2016-02-26 20:51:57", 
updated_at: "2016-02-26 20:51:57">] 
  

的index.html

= for p in @posts
  %h1
    = p.title
  %p
    = p.content

1 个答案:

答案 0 :(得分:0)

问题在于,当您使用for时,您正在评估并输出= haml,在erb中使用<%= %>是相同的,这意味着您的代码将是在评估后输出,这就是您从数据库中看到该信息的原因。

要解决您的问题,只需使用&#34;评估员&#34; haml中的标记为-,它相当于erb中的<% %>,这意味着您的代码只会被评估,不会向屏幕打印任何信息。

另外,当在rails中循环对象时,不要使用for,请使用以下迭代器:@posts.each do |p|而不是for循环。