Rails: блокировать определенные действия на основе формата - PullRequest
1 голос
/ 21 марта 2012

Основываясь на нескольких онлайн-руководствах, мое приложение rails использует формат: mobile для отображения страниц, оптимизированных для мобильных устройств.

Поэтому для некоторых действий у меня есть файл * .mobile.erb, в дополнение к* .html.erb file.

Но что, если я хочу запретить определенные действия на мобильном сайте?

Например, для определенного ресурса вы можете сделать Index и Show, но неРедактировать или Новый, когда вы мобильны.

Какой лучший способ сделать это?В настоящее время у меня просто нет edit.mobile.erb или new.mobile.erb, но это просто показывает ошибку «Отсутствует шаблон» - не очень изящно.

Есть предложения?

1 Ответ

1 голос
/ 21 марта 2012

Вы можете попробовать получить доступ к params [: format], чтобы проверить, является ли действие допустимым для определенного формата.Если нет, вы можете перенаправить или показать пользовательскую страницу ошибки, или что-либо еще, что вы хотите сделать, чтобы изящно запретить действие.

#..inside your controller..

def do_something
  if !["html","xml"].include?(params[:format])
    #invalid format. do something
  end
  #..do other things
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...