Я хотел создать значение по умолчанию для :order
:
class Comment < ActiveRecord::Base
default_scope :order => 'total_votes DESC'
Я также разрешаю пользователям сортировать комментарии:
posts_controller.rb:
@posts = current_user.subscribed_posts.paginate(:page => params[:page],
:per_page => 5,
:order => params[:order_by])
posts / show.html.erb:
<span><%= link_to 'Date (DESC)', post_path(@post, :order_by => "created_at DESC") %></span>
<span><%= link_to 'Date (ASC)', post_path(@post, :order_by => "created_at ASC") %></span>
<span><%= link_to 'Votes', post_path(@post, :order_by => "total_votes DESC") %></span>
Не важно, какую ссылку я нажимаю, default_scope
не отображаетсяперезаписывается (остается total_votes DESC
независимо от того, что).
Это поведение по умолчанию?Если так, каково правильное решение для этой ситуации?(Я хочу иметь значение по умолчанию для :order
, но смогу изменить его на значение :order_by
после нажатия на ссылку в show.html.erb
).