Опубликовать ответ как URL - PullRequest
0 голосов
/ 05 января 2012

Итак, у меня есть метод «создать» внутри моего контроллера, но как только я создаю свою модель, вместо того, чтобы показывать саму модель, я хочу, чтобы в моем представлении отображался только URL этой модели, например: «http://www.myapp.com/model/1".

Я определил другое действие внутри моего контроллера, которое называется "url", и как только модель сохранена (внутри метода create), я делаю так:

format.html { render :action => "url" }

Итак, в этом представлении URL я хочу показать полный URL моей модели.

Как я могу разместить там URL модели?

Ответы [ 2 ]

2 голосов
/ 05 января 2012

Вы можете использовать метод url_for, доступный в каждом контроллере.

url_for(:action => 'login', :controller => 'members', 
        :only_path => false, :protocol => 'http')

приведет к (примеру):

http://www.example.com/members/login/

Источник: http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-url_for


И, как я уже ответил (очевидно, ответ был удален), вы можете вызвать url_for, также назначив ему объект (например, недавно созданный экземпляр модели):

# Create a new instance of a model:
@new_order = Order.new(...)
# And then get the url for that specific instance's location:
url_for(@new_order)

Надеюсь, я помог!

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

Вам нужно добавить действие в ваш config / rout.rb

get "model", :to => "model#url"

Или для действия участника

get "model", :to => "model#url", :on => :member
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...