假设我要创建其他创建操作。我们称之为create2。
items_controller:
def new
@item = Item.new
and
def create
.....
end
def create2
.....
end
项目/表格:
<%= simple_form_for (@item) do |f| %>
<%= f.input :name %>
<%= f.submit %>
<%= end %>
路线:
post 'create2', to: 'items#create2', as: :create2
提交表单后,如何使其执行create2而不是create?
答案 0 :(得分:3)
例如,您的模型是具有users_controller的用户,而您想要创建另一个“新创建”
在路线内添加这样的内容
resources :users do
collection {
get :new_special_user
post :create_special_user
}
end
在users_controller内部,您创建2个方法
def new_special_user
end
def create_special_user
end
在new_special_user.html.erb内,其URL将直接指向用户控制器中的create_special_user方法,下面是示例
<%= form_for @user, url: create_special_user_users_path do |f| %>
<% end %>