我已经用英语实现了RESTFUL路由,但该应用程序适用于德国用户,所以路由应该重命名为德语。我使用:path_names选项和CRUD路由执行此操作,但这对我自己创建的路由不起作用。例如,模型SingleBudget
具有从n..n关联中删除特定对象的操作。在我的routes.rb
中,它看起来像这样:
resources :single_budgets, :path => 'einzelbudgets', :path_names => { :new => 'neu', :edit => 'aendern', :remove => 'entfernen' } do
collection do
get ':id/remove' => "single_budgets#remove", :as => :remove
end
end
它适用于新操作和编辑操作,但不适用于删除操作。有人知道如何解决它吗?
答案 0 :(得分:2)
:path_names
参数只会影响内置的CRUD操作。对于您的自定义操作,只需在get
参数中调用它即可:
get ':id/entfernen' => "single_budgets#remove", :as => :remove
这将为您提供一个remove_single_budgets
路径,该路径将指向/single_budgets/:id/entfernen
,它将在您的控制器中执行remove
方法。