Использование Devise и желание перейти на определенную страницу после регистрации. Вот кикер; пользователь может либо зарегистрироваться в качестве Покупателя, либо Рабочего через радиокнопку. Когда они подписываются как Рабочие, я хочу, чтобы они пошли по определенному пути.Ruby on Rails: перенаправить перенаправление после регистрации для рабочих ролей
Пока что код, который у меня есть сейчас, покупатель и рабочий, будет идти по тому же пути. «Current_user.worker?» код - это то, что я думаю, не работает правильно.
new.html.erb
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= radio_button_tag 'user[role]', 'worker' %>
<%= radio_button_tag 'user[role]', 'buyer' %>
<%= f.text_field :username %>
<%= f.email_field :email %>
<%= f.password_field :password %>
<%= f.password_field :password_confirmation %>
<%= f.submit 'Create Account', :class => 'button' %>
<% end %>
application_controller.rb
class ApplicationController < ActionController::Base
def after_sign_up_path_for(resource_or_scope)
if current_user.worker?
account_setup_path
else
end
end
end
у вас должен быть метод, названный работником в пользовательской модели, как этот 'def worker ?; role == 'worker' end' – cristian
hey @ Octopus-Paul, Да. У меня есть этот метод в user.rb как def worker? return role == 'worker' end –
Вы проверили работника? метод, чтобы увидеть, что он возвращает желаемый результат? – cristian