1
使用Rails 3獲取相關ID爲jQuery的排序connectWith序列化方法
在國表型號:
id
country_id
position
created_at
updated_at
的Javascript:
$(".sortable_country").sortable({
connectWith: ".sortable_country",
update: function() {
console.log($(this).sortable("serialize"));
}
});
HTML:
<strong>Country 1</strong>
<ul id="country_1" class="sortable_country">
<li id="state_1">
State 1
</li>
<li id="state_2">
State 2
</li>
<li id="state_3">
State 3
</li>
<li id="state_4">
State 4
</li>
</ul>
<strong>Country 2</strong>
<ul id="country_2" class="sortable_country">
<li id="state_5">
State 5
</li>
<li id="state_6">
State 6
</li>
<li id="state_7">
State 7
</li>
<li id="state_8">
State 8
</li>
</ul>
spots_controller.rb:
def sort
params[:states].each_with_index do |id, index|
State.update_all([’position=?’, index+1], [’id=?’, id])
end
render :nothing => true
end
請忽略其他所需的代碼,因爲我已簡化了用於故障排除目的的代碼。在這個例子中,我將State 5
分類爲Country 1
列表。排序後,返回序列化的結果是:
state[]=6&state[]=7&state[]=8
state[]=1&state[]=2&state[]=3&state[]=5&state[]=4
我如何可以包括相關country_id
在序列化的結果,使我的應用程序可以適當地更新State 5
的country_id
到1
,這是最初2
排序前?
謝謝。