#ruby-on-rails #vanity-url
#ruby-on-rails #vanity-url
Вопрос:
В конце моего routes.rb у меня есть подстановочный знак для URL-адресов vanity. Однако я не могу понять, как перенаправить неизвестные имена пользователей на 404. Как вы можете это сделать?
~ в routes.rb ~
# Vanity URLs
match ':username', :to => "users#show"
~ в пользовательском контроллере ~
@user = User.find_by_username(params[:username])
if @user.nil?
render :status => 404
else
...
end
Комментарии:
1. Какая часть этого у вас не работает?
2. Он просто вообще не перенаправлял. Как ответил jdeseno, он все еще отображал шаблон по умолчанию с кодом ответа 404. Вы должны использовать код, предоставленный jdeseno.
Ответ №1:
То, что у вас есть, все равно будет отображать шаблон по умолчанию, но с кодом ответа 404.
Попробуйте это для отображения страницы 404 по умолчанию вместо:
render :file => "#{Rails.root}/public/404.html", :layout => false, :status => 404