我正在使用宝石排名模型: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进行更改?
答案 0 :(得分:0)
我也觉得这有点奇怪,但是如果你在迭代一个数组,一个解决方法是做一个each_with_index
。通过这种方式,您可以将位置存储在某个位置(例如,在隐藏字段中),并且在执行文章重新排列时会传递新位置+或 - 。
# Something like this
<% Article.each_with_index do |article, index| %>
<%= render :partial => 'article', :locals => {:article => article, :position => index} %>
<% end %>