2011-09-21 18 views
41

Próbuję zdefiniować akcję "savenew" w kontrolerze administratora/fotografa.Jak zdefiniować akcję za pomocą prostego formularza?

Próbowałem to:

<%= simple_form_for(:photographer_savenew, :action => 'savenew', :id => params[:id], :multipart => true) do |f| %> 

Ale akcja w formie jest nadal: /admin/photographers

Kiedy powinno być: /admin/photographers/savenew

+0

Czy kontroler/trasa ma nazwę? –

+0

Masz na myśli: przestrzeń nazw: admin do zasobów: fotografowie robią kolekcja do post: savenew koniec koniec koniec –

+0

Nie, mam na myśli [to] (http://edgeguides.rubyonrails.org/routing.html#controller-namespaces- i-routing) i/lub umieszczenie podklasy 'ActionController' (kontrolera) w module (patrz [tutaj] (http://accentuate.me/blog/?p=12), nie mogę znaleźć link Zazwyczaj mam na myśli, przepraszam :( –

Odpowiedz

116

Czy istnieje powód, dla którego nie używasz REST dla tego? Ułatwiłoby to twoje życie i wymagałoby znacznie mniej kodu. Jeśli używasz tej niestandardowej akcji, musisz podać adres URL i prawdopodobnie metodę:

<%= simple_form_for @photographer, :url => savenew_photographers_path, :method => :post ... # etc 
+2

Nie było jasne, po przeczytaniu prostej dokumentacji formularza, jakie parady simple_form_for wziął. za uwzględnienie ich powyżej! – thatmiddleway

Powiązane problemy