Я действительно новичок в ruby на рельсах, и у меня действительно возникают проблемы с простым циклом for.
Я делаю это:
Внутри posts_controller.rb
@post = Post.all.order("created_at DESC")
Внутри posts / index.html.erb (представление относится к контроллеру)
<%= @post.each do |post| %>
<%= link_to post.title, post %>
<br>"Published "
<%= time_ago_in_words(post.created_at) %>
<br>by user.email
<%= post.user.email %>
<br><br>
<% end %>
Но вывод такой (я скопировал только чтоважная часть)
primer pst de ET
"Published " 1 day
by user.email cacaca@gmail.com
primer post de cocina
"Published " 1 day
by user.email cacaca@gmail.com
[#<Post id: 14, title: "La tercera es la vencida", content: "<p><span style=\"color:#ffffff;\"><span style=\"backg...", created_at: "2018-12-23 03:07:41", updated_at: "2018-12-23 03:07:41", user_id: 1, category: "rangos de aventurero", thumbnail: "img2", status: "pending">, #<Post id: 13, title: "segundo post con status", content: "<p><span style=\"color:#2ecc71;\">ahora ´si qu...", created_at: "2018-12-23 03:05:32", updated_at: "2018-12-23 03:05:32", user_id: 1, category: "Endless Tower", thumbnail: nil, status: nil>, #<Post id: 12, title: "Segundo post COCINA", content: "<p>Esto es el primer post COCINA con imágen...", created_at: "2018-12-23 02:53:06", updated_at: "2018-12-23 02:53:06", user_id: 1, category: "Cocina", thumbnail: nil, status: nil>, #<Post id: 11, title: "primer post con status", content: "gtgtrhtgr", created_at: "2018-12-23 02:31:51", updated_at: "2018-12-23 02:31:51", user_id: 1, category: "", thumbnail: nil, status: nil>, #<Post id: 10, title: "primer post economía", content: "f3rggg ecoooooo", created_at: "2018-12-23 02:19:42", updated_at: "2018-12-23 02:19:42", user_id: 1, category: "Economía", thumbnail: nil, status: nil>, #<Post id: 9, title: "primer pst de ET", content: "ET SE HACE UNA VEZ A LA SEMAN", created_at: "2018-12-23 02:17:04", updated_at: "2018-12-23 02:17:04", user_id: 1, category: "Endless Tower", thumbnail: nil, status: nil>, #<Post id: 8, title: "primer post de cocina", content: "wfowrffmweew COCINAAAAAA", created_at: "2018-12-23 02:00:39", updated_at: "2018-12-23 02:00:39", user_id: 1, category: "Cocina", thumbnail: nil, status: nil>]
AQUÍ TERMINA EL RENDER INDIVIDUAL
Таким образом, в конце создается дамп всего содержимого базы данных, и я действительно не знаю, почему.
Я явно не хочу, чтобы пользователь видел таблицусодержание, но я не знаю, что не так с кодом выше.
Я знаю, что это, вероятно, очень простой вопрос, но я пока не могу найти ответ.Пожалуйста, помогите мне.
Спасибо за помощь:)
РЕДАКТИРОВАТЬ: вот полный код контроллера
class PostsController < ApplicationController
# La siguiente línea establece que se llamará al método <find_post>
# antes de llamar a los métodos <show>, <edit>, <update>, <destroy>
before_action :find_post, only: [:show, :edit, :update, :destroy]
before_action :stablish_categories_and_thumbnail
def index
@post = Post.all.order("created_at DESC")
end
def show
end
def new
@post = current_user.posts.build
end
def create
@post = current_user.posts.build(post_params)
if @post.save
redirect_to @post
else
render 'new'
end
end
def edit
end
def update
if @post.update(post_params)
redirect_to @post
else
render 'edit'
end
end
def destroy
@post.destroy
redirect_to root_path
end
private
def post_params
params.require(:post).permit(:title, :content, :category, :status, :thumbnail)
end
def find_post
@post = Post.find(params[:id])
end
def stablish_categories_and_thumbnail
# Esto es lo que hay que ir rellenando luego con las categorías finales
@categories = ['Cocina',
'Endless Tower',
'Economía',
'rangos de aventurero']
@thumbnails_list = ['img1', 'img2', 'img3', 'img4']
end
end