(Rails Kaminari) неопределенный метод `current_page'для # <Array:
Я смотрел эпизод о Каминари на railscasts.com и пытался добавить эту систему в свой блог. Но эта ошибка появляется снова и снова, и я не понимаю, почему.
Индекс действий от контроллера сообщений:
def index
@posts = Post.order("title").page(params[:page]).per(3)
if params[:tag]
@posts = Post.tagged_with(params[:tag])
else
@posts = Post.all
end
respond_to do |format|
format.html # index.html.erb
format.json { render json: @posts }
end
end
просмотреть файл: index.html.erb:
<%= paginate @posts%>
<% @posts.each do |post| %>
<h2><%= link_to post.title, post %></h2>
<p>
Created: <%= post.created_at.strftime("%Y/%m/%d")%> by
<%= link_to post.user.fullname, user_posts_path(post.user) %>
</p>
<p>
<%= simple_format post.text %>
</p>
<p>
Tags: <%= raw post.tag_list.map { |t| link_to t, tag_path(t) }.join(', ') %>
</p>
<% end %>
1 ответ
Решение
Вы декларируете @posts
дважды в вашем контроллере. Попробуйте что-то вроде этого:
if params[:tag]
@posts = Post.tagged_with(params[:tag]).order("title").page(params[:page]).per(3)
else
@posts = Post.order("title").page(params[:page]).per(3)
end
После снятия верха @posts = Post.order("title").page(params[:page]).per(3)
линия.