6

Mogę łatwo przekierować, ale chciałbym zrobić render strony edycji na niepowodzenie walidacji, więc przenosimy wszystkie metody sprawdzania poprawności do formularza. Nie wiem, jak wyrenderować akcję edycji za pomocą polecenia active_admin.aktywny administrator renderuj stronę edycji

Jeśli spróbuję uzyskać , otrzymuję brakującą stronę szablonu Próbowałem też render active_admin_template('edit.html.arb'), co daje mi stronę na stronie, ale bez błędów.

Wszelkie pomysły?

member_action :state do 
    space = Space.find(params[:id]) 
    if space.send(params[:state]) 
     #space.send(params[:state]+"!") 
     flash[:notice] = "State Changed!" 
     redirect_to :action => :index 
    else 
     #render :action => 'edit' 
     #render active_admin_template('edit.html.arb') 
     flash[:error] = "#{space.errors}" 
     redirect_to :action => :edit 
    end 
    end 

Odpowiedz

5

Czy próbowałeś tego?

render active_admin_template('edit.html.arb'), :layout => false 
+0

To rozwiązuje problem układ gniazdowania, ale mimo to na to, aby zaznaczyć pola które nie sprawdzają poprawności? W zwykły sposób edytowaliby? Obecnie przekazuję je w trybie flash: "{: photos => [" nie ma wystarczającej liczby wpisów "],: blurb => [" Twoja wiadomość musi mieć co najmniej 50 słów. "]}" – holden

+0

Nie jestem pewien, Przepraszam. Ale prawdopodobnie będę musiał rozwiązać ten problem także dla mojego obecnego projektu. –

+1

ta metoda nie istnieje w nowszych wersjach - zobacz http://stackoverflow.com/questions/6653093/activeadmin-how-to-render-default-template-in-customized-action/36665082#36665082, aby uzyskać alternatywne rozwiązanie –

2

Miałem podobny problem, ale ja nadrzędnymi create kontrolera i chciał wszystko opiekunie aktywnego Boskość do renderowania messaegs błędach. Więc tutaj jest to, co zrobiłem

controller do 
layout 'active_admin', :only => [:create,:my_collection_method,:my_member_method] 

def create 
//my code here 
end 
end 

Więc w zasadzie, dodałem linii „Layout«active_admin»” w mojej części kontrolera i dodaniu wszystkich moich metod niestandardowych. Więc „my_collection_method” to akcja niestandardowa kolekcja w aktywnym zasobem amdin, coś

:my_collection_action, :method=>:get do 
//my code here 
end 

Można spróbować czegoś podobnego

Powiązane problemy