Rails выполняет редактирование, когда вызывается действие show - PullRequest
1 голос
/ 18 января 2012

У меня есть контроллер рельсов, где действие edit отображает форму, в которой все значения объекта могут быть изменены.Так что теперь, когда пользователь обращается к /controller/1, я хочу сделать точно так же, как если бы посещали /controller/1/edit.

Мне нужно добиться этого без изменения или добавления маршрута, а также с использованием redirect_to вконтроллер.В противном случае JQueryMobile будет отслеживать перенаправление в своей истории.

Я пытался сделать это путем ruby ​​с помощью alias :show :edit, но это не удалось, потому что rails все еще искал show.html.erb

Как сделатьчто?

Ответы [ 2 ]

1 голос
/ 18 января 2012

Полагаю, вы можете определить свое show действие следующим образом:

def show
  edit
  render :action => :edit
end

, но это действительно неловко.И он определенно будет игнорировать все перед фильтрами, если у вас есть какие-либо действия для edit.

Почему вы не можете использовать некоторые правила в маршрутах для этого?Или лучше вообще не отправлять пользователя на show действие?

0 голосов
/ 16 января 2013

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

resources :users, except: :show do
  get "", as: "", on: :member, to: :edit
end
...