2011-03-07 7 views
1

私は2つのモデルを持っています。私はcompanies_controller.rbとaccounts_controller.rbを持ってroutes.rbを安らかなレール質問

resources :companies do 
    resources :accounts 
end 

class Company < ActiveRecord::Base 
    has_many :accounts, :class_name => "CompanyAccount" 
end 

class CompanyAccount < ActiveRecord::Base 
    belongs_to :company 
end 

@ accountのクラスがAccountではなくCompanyAccountであるため、次の行は機能しません。

= form_for [@company, @account] do 

この名前の不一致を解決するにはどうすればよいですか?

ありがとうございました。

+0

routes.rbのリソース:company_accountsを使用すると何が起こりますか? – picardo

答えて

1

を、あなたの協会のhas_many < association_name>の場合、リソース名はActiveRecordの関連ではなく、実際のモデルの名前を常に反映する必要があります。それが役に立てば幸い!

0

あなたは、使用しようとすることができます:コードは、まだあなたが名前かは重要ではありません

 
resources :companies do |c| 
    c.resources :company_accounts 
end 

でなければなりません

問題は、あなたのroutes.rbをファイルにある

= form_for @account, :as => :company_account, :url => company_account_path(@company, @account) 
関連する問題