括号显示 rails 中的帖子信息?

Brackets showing posts info in rails?

我正在关注 rails 教程中的 ruby。我的帖子信息显示在帖子标题旁边的括号中。如果您知道如何修复它,请帮忙!

Example=> "first post on PHOTOGRAM! [#<Post id: 1, caption: "first post on PHOTOGRAM!", created_at: "2017-09-04 03:24:25", updated_at: "2017-09-04 03:24:25", image_file_name: "instagram.jpg", image_content_type: "image/jpeg", image_file_size: 64169, image_updated_at: "2017-09-04 03:24:24">]"

帖子管理员

class PostsController < ApplicationController

  def index
    @posts = Post.all
  end
  def new
    @post = Post.new
  end

  def create
    @post = Post.create(post_params)
    redirect_to posts_path
  end

  private

  def post_params
     params.require(:post).permit(:image, :caption)
  end
end

app/views/posts/index.html.erb

<h1> Photogram </h1>

<%= @posts.each do |post| %>
  <%= image_tag post.image.url(:medium) %>
  <%= post.caption %>
<% end %>

新.html.erb

<%= form_for(@post) do |f| %>
  <%= f.file_field :image %>
  <%= f.text_field :caption %>
  <%= f.submit %>
<% end %>

将您的 index.html.erb 更改为

<% @posts.each do |post| %>
  <%= image_tag post.image.url(:medium) %>
  <%= post.caption %>
<% end %>

(注意已删除的 =

在 ruby 中,每个语句都有一个 return 值。它可能是 nil 但没有像其他编程语言那样的 void。 而ERB的开始标签<%=会输出下面的ruby代码。所以这行代码也会输出@posts中的所有帖子。

(这个回答基本上就是"max pleaner"他评论里说的,只是加了一些备注和解释)