web-dev-qa-db-ja.com

Rails form_forでの送信のルーティングを変更

モデル「Article」とモデル「Ratings」が記事内にネストされています。

/ articles/123/ratings

Ratings/_form.html.erbのf.submitのルーティングを変更したいので、submitを押した後、アプリケーションが次のようにルーティングされます。

/ ratings/111

それをルーティングしたい

/記事/ 123

Form_for f.submitボタンのルーティングを変更するにはどうすればよいですか。私はここでこのようなものを見つけました:

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

しかし、これは私のRails 3.2では機能しません。ご協力いただきありがとうございます。

17
Lailo

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

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

ヘルパーを使用して、path_nameを渡すこともできます。だからあなたも何かをすることができます

:url => update_article_path(@article)
24
Abid

form_for (:thing, url:{:controller=>'thing', :action=>'update'}, html:{method:'put'})を試してください。

4
Antonio Jha