how to execute an action if the before_action returns false
actioncontroller, callback, ruby-on-rails
Solution
before_action doesn't work as you think - it doesn't prevent action to be executed if callback returns `false`. I would solve your problem in a little bit different manner, for example:
before_action :redirect_to_root, :if => :signed_in?, :only => :new
# ...
private
def redirect_to_root
redirect_to root_path
end
Problem
I know that with the following code: `before_action :signed_in?, only: [:new]` the action `new` will be executed if the `signed_in?` returns true, but instead if I want the `new` action to be executed when `signed_in?` returns false what do I have to do? Do I have to create a new method called, for instance, `not_signed_in?`? Here it is my `signed_in?` method ``` def signed_in? !@current_user.nil? end ```