Restful Rails Вопрос - PullRequest
       0

Restful Rails Вопрос

1 голос
/ 07 марта 2011

У меня 2 модели.

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

class CompanyAccount < ActiveRecord::Base
  belongs_to :company
end

В маршрутах.рб

resources :companies do
  resources :accounts
end

У меня есть companies_controller.rb и accounts_controller.rb.

Следующая строка не работает, поскольку класс @ account - это не Account, а CompanyAccount.

= form_for [@company, @account] do

Какой лучший способ устранить это несоответствие имени?

Спасибо.

Ответы [ 2 ]

1 голос
/ 07 марта 2011

Проблема в вашем файле rout.rb,

Код все еще должен быть

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

Неважно, что вы называете в своей ассоциации has_many <имя_сообщества>, имя ресурса всегда должно отражать имя вашей фактической модели, а не ассоциацию ActiveRecord. Надеюсь, это поможет!

0 голосов
/ 07 марта 2011

Вы можете попробовать использовать:

= form_for @account, :as => :company_account, :url => company_account_path(@company, @account)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...