2012-05-02 11 views
14

Mam model "Artykuł" i model "Oceny" zagnieżdżone w artykułach.Szyny zmieniają trasę wysyłania w formularzu dla

/artykuły/123/oceny

Chcę zmienić ułożenie f.submit w ocenie/_form.html.erb teraz to jest tak, że po naciśnięciu przedstawienia, moje tras wylotowych aplikacji do

/oceny/111

ale chcę poprowadzić go do

/article/123

Jak mogę zmienić pogrom w przycisk form_for f.submit. Znalazłem tu coś takiego:

<% form_for :thing, :url => 
url_for(:action => "update", :id => @thing) do |f| %> 

Ale to nie działa dla moich szynach 3.2. Dziękuję za pomoc,

+0

Zapomniałeś dodać '=' po '<%'. Niestety nie rozumiałem, do jakiego kontrolera i działania chcesz wysłać formularz. –

Odpowiedz

19

: url - adres URL, do którego został przesłany formularz. Trwa to samo pole, które podajesz do url_for lub link_to. W szczególności możesz również przekazać tutaj nazwaną trasę. Domyślne dla bieżącej akcji.

<% form_for :thing, :url => {:action => "update", :id => @thing} do |f| %> 

można również przekazać go nazwa_ścieżki za pomocą pomocnika. więc możesz też zrobić coś w rodzaju:

:url => update_article_path(@article) 
+0

nie działa to dla mnie >> form_for (@rating),: url => (: action => "show",: id => @article) do | f | >> błąd, który dostaję, to >> błąd składni, nieoczekiwany tASSOC, oczekiwanie keyword_end ... nd = – Lailo

+0

Edytowałem teraz test odpowiedzi – Abid

3

Wypróbuj form_for (:thing, url:{:controller=>'thing', :action=>'update'}, html:{method:'put'}).

Powiązane problemy