Bonjour Philippe,
Le 03/06/2014 04:27, Philippe Creux a écrit :
Le DSL d’ActiveAdmin n’a pas accès aux |*_path|. Il faut donc
“hard-coder” l’URL:
|"/admin/websites/#{Website.first_or_create.id
<http://Website.first_or_create.id>}/edit" # La RACHE|.
Même cela ne fonctionne pas, parce que l'url est _codée en dur_ au
démarrage de l'appli, elle ne se met pas à jour... J'ai essayé en
fournissant un bloc pour l'url mais...
J'ai réussi en contournant le problème. Je précise que ça ne me convient
pas parfaitement, mais ça fonctionne comme je le souhaite. Pour la
beauté du code, on verra lors d'une séance de refactoring ;)
```ruby
ActiveAdmin.register Website do
permit_params :title
menu label: "Paramètres", priority: 4
actions :all, except: [:show, :destroy]
controller do
def index
redirect_to edit_first_or_new_website_path
end
def edit
prepare_website
end
def update
prepare_website
update!
end
private
def prepare_website
@website = Website.first || Website.new
end
def edit_first_or_new_website_path
if website = Website.first
"/admin/websites/#{website.id}/edit"
else
"/admin/websites/new"
end
end
end
form do |f|
f.inputs "Général" do
f.input :title
end
f.actions
end
end
```
Merci à tous.
--
Alex
--
--
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse
[email protected]
---
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant,
envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, visitez le site https://groups.google.com/d/optout .