1

你能帮我么?我被困!

我为模型“客户”实现了单表继承。“人”和“公司”是“客户”。所以我添加了两条新路由来将所有请求转发到CustomersController

resources :customers                             # added by generator
resources :people,    :controller => 'customers' <== NEW
resources :companies, :controller => 'customers' <== NEW

我想做的是

  1. type在资源的动作“ ”中添加一个参数“ ” newcustomers
  2. 将默认值“Person”和“Company”添加到其他两个资源中的“type”参数(如果参数被继承!?)

我的目标是能够打电话

new_customer_path(:type => 'Person')

new_person_path

我之前尝试过以下操作,但它阻止了其他操作(如显示)的工作

resources :people, :controller => 'customers' do
  get 'new', :on => :member, :type => 'Person'
end

有人可以告诉我我的错误吗?

4

2 回答 2

2

尝试将参数添加到资源参数

resources :people,    :controller => 'customers', :type => "Person"
resources :companies, :controller => 'customers', :type => "Company"
于 2011-09-23T20:56:36.640 回答
0

至于 new_person_path 你可以这样做:

map.new_person "new_person", :controller => "customers", :action => "new", :type => "person"

请记住,具有:

new_customer_path(:type => "person")

将在 URL 中传递“?type=person”,以便您的访问者能够更改它。

于 2011-09-23T20:16:25.337 回答