Как вы перенаправляете в метод показа, используя альтернативное имя? - PullRequest
0 голосов
/ 14 января 2011

Я работаю над проектом Rails 3 с моделью под названием «recovery»

Я создал следующий работающий маршрут.Он направляется к индексу так, как я ожидал:

match 'checkin' => 'восстанавливает # index',: as => 'checkedin'

link_to 'index', checkedin_path

Как мне перенаправить на id метода show?Следующий код - моя попытка, но он не работает.Что я делаю не так?

match 'checkedin /: id' => 'восстанавливает # show',: as => 'checkedin_show'
link_to 'show', checkedin_show_path (@recovers)

Ответы [ 3 ]

1 голос
/ 15 января 2011

Может быть, вы намеревались написать

link_to 'show', checkedin_show_path(@recover)

Обратите внимание, что аргумент @recover (без "s").

0 голосов
/ 12 апреля 2014

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

def show 
@post = Post.find(params[:id])
end

или

на странице управления, которую вы создаете

before_action :set_post, only: [:show, :edit]
0 голосов
/ 15 января 2011

Ответ Дэвида Сулька кажется правильным.Мой вопрос: «Почему вы не используете ресурсы для этого?»

Ваш маршрут будет простым resources :recovers, :path => 'checkedin' (... и вам нужно добавить подчеркивание в selected_in для соответствия типичным соглашениям Rails).Вы получите эти маршруты:

    recovers GET    /checkedin(.:format)           
             POST   /checkedin(.:format)           
 new_recover GET    /checkedin/new(.:format)       
edit_recover GET    /checkedin/:id/edit(.:format) 
     recover GET    /checkedin/:id(.:format)       
             PUT    /checkedin/:id(.:format)       
             DELETE /checkedin/:id(.:format)       
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...