1

手伝ってくれませんか?行き詰まった!

モデル「Customer」の単一テーブル継承を実装しました。「人」と「会社」は「お客様」です。そこで、すべてのリクエストを に転送する 2 つの新しいルートを追加しました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 に答える