我正在尝试找到一种方法,将特定的关系移动到数组的末尾。基本上,我有一个current_account
,我想把这个账户移到账户关系数组的末尾,以便在迭代关系时最后显示。如果可能的话,我想创建一个作用域并使用SQL,以下是我的尝试,但我还没有真正取得任何进展。
HTML
<% current_user.accounts.current_sort(current_account).each do |account| %>
<li><%= link_to account.name, switch_account_accounts_path(account_id: account.id) %></li>
<% end %>
这段代码返回了一个按照创建时间排序的账户列表。我不想按照创建时间排序,而是想让current_account
排在最后,所以我创建了一个名为current_sort
的作用域,但是我不确定该怎么做。
账户上的CURRENT_SORT作用域
scope :current_sort, lambda { |account|
}
我希望这个作用域在关联数组中返回传入的账户最后一个。我该如何使用SQL或Ruby实现?
sort_by { |v| v == current_account ? 1 : 0 }
呢? - tadmanlist - [ current_account ] + [ current_account ]
,但这看起来更加混乱。 - tadman