Полиморфный синглтон в ActiveAdmin - PullRequest
0 голосов
/ 13 марта 2019

У меня есть следующая структура данных:

class BankAccount < ApplicationRecord
  belongs_to :bankable, polymorphic: true
end

class Buyer < ApplicationRecord
  has_one  :bank_account, as: :bankable
end

class Vendor < ApplicationRecord
  has_one  :bank_account, as: :bankable
end

Я определил дополнительную маршрутизацию в моем routes.rb:

namespace :admin do
  resources :buyers do
    resource :bank_account
  end
  resources :vendors do
    resource :bank_account
  end
end

А мой ActiveAdmin:

ActiveAdmin.register BankAccount do
  actions :all, except: [:index, :destroy]

  controller do
    defaults singleton: true
    belongs_to :buyer, :vendor, polymorphic: true
  end
end

Но при попытке создать новый bank_account, через admin/buyers/1/bank_account/new,

Я получил следующую ошибку:

No route matches {:action=>"index", :buyer_id=>"1", :controller=>"admin/bank_accounts"}

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 13 марта 2019

Как указано в комментарии, измените resource :bank_account на resources :bank_account. После внесения изменений можно запустить команду rails routes/rake routes в консоли и проверить, подходит ли нужный маршрут.

...