Подтвердить что ты не робот

Добавить новое действие для маршрута

Я получил эти действия в пользовательском контроллере

class UsersController < ApplicationController
  def index #default action
    ...
  end

  def new #default action
    ...
  end

  def another_new
    ...
  end

  def create
    ...
  end

  def another_create
    ...
  end
end

Я хочу быть в состоянии /users/another_new и вызов из какой-либо ссылки :method => :another_create сделать /users/another_new

Я получил следующую конфигурацию /routes.rb

get '/users/another_new' :to => 'users#another_new'
resources :users

Мой вопрос в том, что это правильный способ добавить get и как добавить метод another_create.

4b9b3361

Ответ 1

в файле config/routes.rb сделайте это

resources :users do
  collection do
    get 'another_new'
    post 'another_create'
  end
end

Также посмотрите ЗДЕСЬ для четкого понимания понятий.

Надеюсь, это поможет вам чувак:)

Ответ 2

попробуйте это в route.rb

match "/users/another_new " => "users#another_new", :as => 'another_new' 

то вы можете сделать

link_to "MyUrl", another_new_path

это должно работать. Удачи.

Ответ 3

Также обратите внимание, что у вас не должно быть :method => :another_new. Ваши параметры для :method: :get, :put, :post и :delete, и тот, который вы используете, должен соответствовать тому, как вы определили действие в маршрутах.