Я создал модель наследования одиночной таблицы в файле модели и испытываю трудности с маршрутизацией. Когда я использую: как в моем ресурсе, он переименовывает мой именованный путь.Вложенная маршрутизация для одиночных таблиц Наследование модели rails 3.1
Модель файла:
class Account < ActiveRecord::Base
belongs_to :user
end
class AdvertiserAccount < Account
end
class PublisherAccount < Account
end
routes.rb
resources :advertiser_accounts, :as => "accounts" do
resources :campaigns
end
я использовал: как в моих маршрутах, потому что это одна таблица наследования, и я хочу передать ACCOUNT_ID и не advertiser_account_id. Моя ссылка http://127.0.0.1:3000/advertiser_accounts/1/campaigns
/advertiser_accounts/:account_id/campaigns/:id(.:format)
Однако, используя: а переименовывает свой путь от имени advertiser_account_campaigns до account_campaigns. Мой маршрут выглядит
account_campaigns GET /advertiser_accounts/:account_id/campaigns(.:format) campaigns#index
Так что, когда я создаю новый элемент с помощью form_for, я хотел бы получить «неопределенный метод` advertiser_account_campaigns_path '»
Отредактировано: текущий взломан решение
хак вокруг пути что я использую, это дублировать код в файле маршрутов. У кого-нибудь есть предложения?
resources :advertiser_accounts, :as => "accounts" do
resources :campaigns
end
resources :advertiser_accounts do
resources :campaigns
end
Можете ли вы опубликовать свой код erb/form? спасибо – plainjimbo
Собственно, это не только код формы. Я не могу ссылаться на свой вложенный путь, если я использую: as. Например, link_to code <% = link_to «Показать всю кампанию», advertiser_account_campaigns_path (@advertiser_account)%> будет возвращать «неопределенный метод» advertiser_account_campaigns_path ». Это связано с тем, что именованный путь для advertiser_account_campaigns_path получил переименование в account_campaigns_path, когда я использую: as => «accounts». Я хочу, чтобы иметь возможность создать допустимую ссылку, например 127.0.0.1:3000/advertiser_accounts/10/campaigns, без дублирования слишком большого кода в routes.rb – user1157352
с той же проблемой, удалось ли вам найти решение? – pduersteler