Приложение имеет BusinessSessionsController
, чтобы обрабатывать логины и регистрироваться в сессиях для Businesses
Контроллер и Business
модель. При успешном входе в систему пользователь должен быть перенаправлен на .../businesses/4
, где «4» является идентификатором соответствующего бизнеса. Вместо этого рельсы строят следующий URL: .../business.4
Проблема маршрутизации на контроллере с нерегулярным плюрализацией
Я предполагаю, что это может иметь отношение к нерегулярному плюрализации слова «бизнес». Когда я запускаю тот же код для контроллера users
, модель user
, т. Е. Регулярная плюрализация, она работает нормально.
Я попытался установить нерегулярный инфлектор, как показано ниже, но добавление его не имело значения. http://guides.rubyonrails.org/routing.html#naming-routes раздел 4,8
config/inflections.rb
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'business', 'businesses'
end
Регулятор тока:
class BusinessSessionsController < ApplicationController
def create
business = Business.find_by(email: params[:business_session][:email].downcase)
if business && business.authenticate(params[:business_session][:password])
business_log_in business
redirect_to business
else
flash.now[:danger] = 'Invalid email/password combination'
redirect_to business_url
end
end
end
Маршруты
get 'business' => 'businesses#new' #this page has the login form
get 'business_login' => 'business_sessions#new'
post 'business_login' => 'business_sessions#create'
resources :businesses
Великие указатели. Спасибо! –