我正在尝试创建一个用户管理系统,用户可以沿着不同的组拖放用户(复制和移动用户)。我用
drop_receiving_element "move_drop_zone_1",
:update => "users",
:url => move_user_path(:target_node_id => node.id),
:method => :put,
:accept => "move_user",
:hoverclass => "node-active"
定义一个dropzone。
我的路径有问题。上面的代码结果为
move_user_url无法生成 {:行动=> “中移动”, :控制器=> “中的用户”, :target_node_id => 2},预期: {:行动=> “中移动”, :controller =>“users”},diff: {:target_node_id =→2}
在我的路线中,我定义了map.resources :users, :member => { :move => :put, :copy => :put }
显然Rails不期待target_node_id,但我该如何包含它呢?
感谢 斯泰恩
答案 0 :(得分:2)
move_user_path是“成员”路径。因此,您还需要为您所指的用户成员提供:id。
所以你可能有:
move_user_path(:id => current_user.id, :target_node_id => node.id)
或者,您需要将路线更改为:
map.resources :users, :collection => { :move => :put, :copy => :put }
然后你的道路变成了:
move_users_path(:target_node_id => node.id)
希望这有帮助。
约尔格
答案 1 :(得分:1)
Joerg是对的。
此外,了解有关路由的更多信息的资源非常好Ruby On Rails guides