2012-05-02 2 views
14

私はモデル 'Article'と記事内にネストされたモデル 'Ratings'を持っています。Railsはsubmitのルーティングをform_forで変更します

/記事/ 123 /評価

私は評価/ _form.html.erb にf.submitのルーティングを変更したい、今では押した後に提出すること、そうです、私のアプリケーション敗走

/評価/ 111

が、私は

/記事/ 123

どのように私は敗走を変更することができますへのルートにそれをしたいですfボタンを押すとフォームが表示されます。私はここで、このような何かを発見した :

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

をしかし、これは私のレール3.2には対応していません。あなたの助けをありがとう

+0

'%'の後に '='を追加するのを忘れました。 残念ながら、フォームを送信するコントローラとアクションを理解できませんでした。 –

答えて

19

:url - フォームが送信されるURL。 url_forまたはlink_toに渡すのと同じフィールドが必要です。特にここでは名前付きルートを直接渡すこともできます。デフォルトは現在のアクションです。

また、ヘルパーを使用してpath_nameに渡すこともできます。あなたも同様のことをすることができます

:url => update_article_path(@article) 
+0

これは私のためには機能しません>> form_for(@rating)、:url =>(:action => "show"、:id => @article)do | f | >>私が得るエラーは次のとおりです。>>構文エラー、予期しないtASSOC、keyword_endを予期しています... nd = – Lailo

+0

私は今答えのチェックを編集しました – Abid

3

お試しform_for (:thing, url:{:controller=>'thing', :action=>'update'}, html:{method:'put'})