括号显示 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"他评论里说的,只是加了一些备注和解释)
我正在关注 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"他评论里说的,只是加了一些备注和解释)