ruby on rails - Good method placement in MVC -


simple question.

is practice place controller related methods (but not directly used in view) in helper?

what mean, controllers consist of new, create, edit, etc. methods only. inside these methods there typically methods called like:

class sessionscontroller < applicationcontroller   include sessionshelper    ...    def destroy     sign_out if signed_in?     redirect_to root_path   end end  module sessionshelper   def signed_in?     !current_user.nil?   end    def forget(user)     user.forget     cookies.delete(:user_id)     cookies.delete(:remember_token)   end    def sign_out     forget(current_user)     session.delete(:user_id)     @current_user = nil   end end 

lately i've read helper should consist of methods used only in view, not quite sure whether methods above count that, , therefore whether placement of method bad practice.

could point me relevant documentation considers good/bad practice?

that's controller concerns for. is, basically, regular ruby module, without added meanings of rails helpers.

# app/controllers/concerns/session.rb module concerns   module session     extend activesupport::concern      def signed_in?       !current_user.nil?     end      def forget(user)       user.forget       cookies.delete(:user_id)       cookies.delete(:remember_token)     end      def sign_out       forget(current_user)       session.delete(:user_id)       @current_user = nil     end   end end  class sessionscontroller < applicationcontroller   include concerns::session    helper_method :signed_in? # make available in views    def destroy     sign_out if signed_in?     redirect_to root_path   end end 

Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -