form_for但发布到不同的操作

Bla*_*man 121 ruby-on-rails

我希望有一个form_for @user,但发布到用户控制器中的自定义操作.

我怎样才能做到这一点?

Aus*_*tin 175

form_for @user, :url => url_for(:controller => 'mycontroller', :action => 'myaction')
Run Code Online (Sandbox Code Playgroud)

要么

form_for @user, :url => whatever_path
Run Code Online (Sandbox Code Playgroud)

  • 我不认为`url_for`是必要的.此外,由于控制器是相同的,你可以使用`form_for @user,:url =>:action =>'myaction' (15认同)

Pet*_*Lee 42

以下适用于我:

form_for @user, :url => {:action => "YourActionName"}
Run Code Online (Sandbox Code Playgroud)

  • 嗯不确定.我已经把`form_for @user,url:{action:'myaction'}`但它给了我`No route matches {:action =>"myaction",:controller =>"users"}`error. (3认同)

Szy*_*ski 11

我这样做了

<%= form_for :user, url: {action: "update", params: {id: @user.id}} do |f| %>
Run Code Online (Sandbox Code Playgroud)

请注意可选参数id设置为user instance id属性.