Ruby on Rails аргументы redirect_to - PullRequest
5 голосов
/ 03 марта 2010

Когда дело доходит до Rails, всегда есть степень чёрной магии, и я не могу найти документацию, которая поможет мне разобраться в этом. То, что делает redirect_to, совершенно очевидно. На самом деле этот вопрос даже не имеет прямого отношения, но аргумент, который я вижу, часто передается redirect_to и не может понять, откуда берется этот аргумент. Например, если вы создадите новый объект, скажем, «пользователь», вы увидите такой код в user_controller.rb:

  def destroy
    @user = User.find(params[:id])
    @user.destroy

    respond_to do |format|
      format.html { redirect_to(users_url) }
      format.xml  { head :ok }
    end
  end

Вопрос в том, что именно здесь users_url? Откуда это взялось? Может ли кто-нибудь указать мне правильное направление в том, что касается документации?

Ответы [ 2 ]

3 голосов
/ 03 марта 2010

Существует множество именованных маршрутов, которые Rails автоматически генерирует, если вы используете маршруты на основе ресурсов. Вы можете увидеть их, запустив rake routes. Другими примерами будут edit_user, user и new_user. Добавив _url к этому имени, имя будет преобразовано в соответствующий URL. И URL-адрес - это то, что нужно redirect_to.

1 голос
/ 03 марта 2010

users_url в этом случае - это полный URL-путь к пользователям. Это автоматически генерируется Rails action_dispatch на основе вашего доменного объекта. Если вас интересует документация по этому вопросу, вы можете прочитать ее здесь .

НТН

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...