Search code examples
ruby-on-railsslim-lang

How to render variable to view in slim?


I have recommended_logger method in categories_contoroller, and I want to output @recommended_logger to a view file.

def recommended_logger
 @recommended_logger = User.joins(:categories).where(
   users: {user_type: 'star'},
   categories: {id: current_user.categries.first.id}
   ).first.name
end

In view file, I coded as below,

.recommended_loggers
  = @recommended_logger

It doesn't show anything. I'm very new to Rails, can someone please help? Anything helps, thanks!


Solution

  • As you are trying display the output of @recommended_logger in categories/index.html.erb, you need to define @recommended_logger in categories#index method not in recommended_logger method.

    #categories_controller
    
    def index
      @recommended_logger = User.joins(:categories).where(
       users: {user_type: 'star'},
       categories: {id: current_user.categries.first.id}
       ).first.name
    end