Rails создает дополнительное действие create и перенаправляет новое на него - PullRequest
0 голосов
/ 05 января 2019

Допустим, я хочу создать дополнительное действие создания. Давайте назовем это 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?

1 Ответ

0 голосов
/ 05 января 2019

например, ваша модель - Пользователь с users_controller, и вы хотите создать еще один "new-create"

внутри ваших маршрутов вы добавляете что-то вроде этого

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 %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...