0

我正在使用宝石排名模型:https ://github.com/mixonic/ranked-model

我想用它来让我的用户在后台订购文章。

根据我从 gem 中了解到的情况,如果您开始计算元素,DB 中的存储值与真正排名的 _position 不同。

现在,如果我有一组图像,我会显示它们并且我想增加或减少它们的一个等级的位置。我会做一个 row_order_postion +1 或 -1。但我不知道他们的row_order_postion(它返回nil),只有他们的row_order。

我的问题是:如果我不知道我的 row_order_position ,那么能够通过 row_order_position 进行更改有什么用?

4

1 回答 1

0

我也觉得这有点奇怪,但如果你正在迭代一个数组,一个解决方法是做一个each_with_index. 这样,您可以将位置存储在某处(例如在隐藏字段中),并且在执行文章的重新排列时传递新位置 + 或 - 1。

# Something like this
<% Article.each_with_index do |article, index| %>
  <%= render :partial => 'article', :locals => {:article => article, :position => index} %> 
<% end %>
于 2013-09-23T14:00:20.590 回答