Ruby on rails Rails创建额外的创建操作并将新操作重定向到该操作

Ruby on rails Rails创建额外的创建操作并将新操作重定向到该操作,ruby-on-rails,Ruby On Rails,假设我想创建一个额外的创建操作。我们称之为create2 控制器的项目: def new @item = Item.new and def create ..... end def create2 ..... end 项目/表格: <%= simple_form_for (@item) do |f| %> <%= f.input :name %> <%= f.submit %> <%= end %> 一旦我提交表单,如何让它执行creat

假设我想创建一个额外的创建操作。我们称之为create2

控制器的项目:

def new 
@item = Item.new
and

def create
.....
end

def create2
.....
end
项目/表格:

<%= simple_form_for (@item) do |f| %>
<%= f.input :name %>
<%= f.submit %>
<%= end %>

一旦我提交表单,如何让它执行create2而不是create?

例如,您的模型是带有users\u controller的用户,您想创建另一个“新创建”

在你的路线中,你添加了这样的东西

resources :users do
  collection {
    get  :new_special_user
    post :create_special_user
  }
end
在用户\控制器中,您创建了两种方法

def new_special_user

end

def create_special_user

end
在new_special_user.html.erb中,url将指向用户控件中创建_special_user方法,下面是示例

<%= form_for @user, url: create_special_user_users_path do |f| %>

<% end %>

例如,您的模型是带有users\u控制器的用户,您希望创建另一个“新建”

在你的路线中,你添加了这样的东西

resources :users do
  collection {
    get  :new_special_user
    post :create_special_user
  }
end
在用户\控制器中,您创建了两种方法

def new_special_user

end

def create_special_user

end
在new_special_user.html.erb中,url将指向用户控件中创建_special_user方法,下面是示例

<%= form_for @user, url: create_special_user_users_path do |f| %>

<% end %>


为了回答这个问题,我们至少需要知道控制器的名称,但是如果您可以发布控制器代码来处理这个问题,那就太理想了。你需要在controller、route和form中使用一个新方法(create2)来处理这个问题。好的,我添加了示例controller、form和routeYa,所以你只需要一个新的表单来提交给create2方法,而不是create,下面的答案可以告诉你怎么做。您可能需要一个新的“new”视图来显示第二个from,除非有一个like-a条件来决定显示哪一个。让我试试……是的,这是正确的。为了回答这个问题,我们至少需要知道控制器的名称,但是如果你能发布控制器代码来处理这个问题,那将是非常理想的。你需要在controller、route和form中使用一个新方法(create2)来处理这个问题。好的,我添加了示例controller、form和routeYa,所以你只需要一个新的表单来提交给create2方法,而不是create,下面的答案可以告诉你怎么做。您可能需要一个新的“new”视图来显示第二个from,除非有一个like-a条件来决定显示哪一个。让我试试……是的,没错,是的,这就是我要找的。谢谢是的,这就是我要找的。谢谢