Ich möchte eine Mitgliedaktion mit dem Namen genehmigen auf meinem Benutzermodell in ActiveAdmin hinzufügen. Ich schaute auf Docs, aber alles ist anders und ich bin ziemlich verwirrt darüber, wie es geht. Bis jetzt habe ich es nur geschafft, den genehmigenden Link anzuzeigen (neben Ansicht, Bearbeiten und Löschen).ActiveAdmin: member_action "genehmigen" auf Benutzermodell
admin/user.rb:
member_action :approve, method: :post do
user = User.find params[:id]
user.approve!
redirect_to admin_user_path(user), notice: "Approved!"
end
und den Link zu zeigen:
actions defaults: true do |user|
link_to 'Approve',approve_admin_user_path(user)
end
models/user.rb:
def approve!
update(bio_validee: true)
end
Wenn ich auf den Link klicken, Ich habe einen Routingfehler mit:
No route matches [GET] "/admin/users/21/approve"
Hier ist, was rake routes
hat (für admin/Benutzer Routen):
approve_admin_user POST /admin/users/:id/approve(.:format) admin/users#approve
batch_action_admin_users POST /admin/users/batch_action(.:format) admin/users#batch_action
admin_users GET /admin/users(.:format) admin/users#index
POST /admin/users(.:format) admin/users#create
new_admin_user GET /admin/users/new(.:format) admin/users#new
edit_admin_user GET /admin/users/:id/edit(.:format) admin/users#edit
admin_user GET /admin/users/:id(.:format) admin/users#show
PATCH /admin/users/:id(.:format) admin/users#update
PUT /admin/users/:id(.:format) admin/users#update
DELETE /admin/users/:id(.:format) admin/users#destroy
ich etwas falsch gemacht? Was muss ich hinzufügen? Außerdem weiß ich nicht, ob ich GET, POST oder PUT in
member_action :approve, method: :post
ich den Unterschied nicht verwenden wirklich in diesem Fall bekommen.
was bedeutet 'rake zeigen routes'? –
Ich habe meinen Beitrag mit dem, was Rake-Routen zurückgibt, bearbeitet –