ActiveAdmin'deki tüm kaynak denetleyicileri tarafından erişilebilir ve geçersiz kılmak istediğim bir arama koleksiyonu eylemim var. Bu şu kodla tek Aktif Yönetici kaynak denetleyici eylemleri oluşturmak için Önemsiz:ActiveAdmin temel denetleyicilerinden birine bir yol/eylem ekleme?
collection_action :autocomplete_user_last_name, method: :get
def autocomplete_user
term = params[:term]
users = User.where('first_name LIKE ? OR last_name LIKE ? OR email LIKE ?', "%#{term}%", "%#{term}%", "%#{term}%").order(:first_name)
render json: users.map { |user|
{
id: user.id,
label: user.full_name,
value: user.full_name
}
}
end
Ama nasıl ActiveAdmin taban kontrolör içerisinde benzer bir eylem yaratacak? Raylar içinde, ApplicationController
, rota, eylem, yardımcı yöntem vb. Oluşturabileceğimiz diğer tüm denetleyiciler gibi davranıyor, ancak bu uygulamanın yalnızca tüm Uygulamam değil Active Admin'e yönlendirilmesini istiyorum. ActiveAdmin'de ApplicationController'a eşdeğer var mı?
ActiveAdmin::PageController
ActiveAdmin::BaseController
ActiveAdmin::ResourceController
Ancak
collection
ve
member
eylemler bu sınıfların içinde tanımlanmış değildir: AA kodu ile Looking
, bütün kaynak denetleyicilerin üst sınıfı olan aşağıdaki taban denetleyicileri bulundu.
Teşekkürler, bunu denedim. collection_action' bu bağlamda tanımlanmamıştır. –
Haklısınız. collection_action AA DSL'de tanımlanmıştır. Buna rastladım: https://www.viget.com/articles/8-insanely-useful-activeadmin-customizations ama collection_action modülüne nasıl karıştıracağını anlayamadım. –
Teşekkürler bunu gördü. Rota/denetleyici eylemini belirli bir kaynağa kadar tamamladım. Sorduğum şeyin şu anda AA'nın API'siyle mümkün olup olmadığından emin değilim. –