Quantcast
Channel: Active questions tagged redis+ruby-on-rails - Stack Overflow
Viewing all articles
Browse latest Browse all 873

Error connecting to Redis on 127.0.0.1:6379(ECONNREFUSED) on rails application

$
0
0

By using Redis, I tried creating ranking system on Ruby on rails.

My environments: windows10, vagrant, Ruby -v 2.2.3, rails -v 4.2.5, mysql2 -v 0.3.18...

However I got the following error.

Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)

this is error pic on rails application...

I guess that something is wrong with not code in app/posts_controller.rb but my other setting files.

That's why when I run zadd hoge 1 1 and zrange hoge 0 -1 etc on tarminal by using redis-cli after ruing redis-server, I got outsputs without any problem.

The following files which is related to my rails application:

gemfile.lock

First I run bundle install gem 'redis' and gem 'redis-rails'.

GEM  remote: https://rubygems.org/  specs:    actionmailer (4.2.5)      actionpack (= 4.2.5)      actionview (= 4.2.5)      activejob (= 4.2.5)      mail (~> 2.5, >= 2.5.4)      rails-dom-testing (~> 1.0, >= 1.0.5)    actionpack (4.2.5)      actionview (= 4.2.5)      activesupport (= 4.2.5)      rack (~> 1.6)      rack-test (~> 0.6.2)      rails-dom-testing (~> 1.0, >= 1.0.5)      rails-html-sanitizer (~> 1.0, >= 1.0.2)    actionview (4.2.5)      activesupport (= 4.2.5)      builder (~> 3.1)      erubis (~> 2.7.0)      rails-dom-testing (~> 1.0, >= 1.0.5)      rails-html-sanitizer (~> 1.0, >= 1.0.2)    activejob (4.2.5)      activesupport (= 4.2.5)      globalid (>= 0.3.0)    activemodel (4.2.5)      activesupport (= 4.2.5)      builder (~> 3.1)    activerecord (4.2.5)      activemodel (= 4.2.5)      activesupport (= 4.2.5)      arel (~> 6.0)    activesupport (4.2.5)      i18n (~> 0.7)      json (~> 1.7, >= 1.7.7)      minitest (~> 5.1)      thread_safe (~> 0.3, >= 0.3.4)      tzinfo (~> 1.1)    arel (6.0.4)    bcrypt (3.1.12)    binding_of_caller (0.8.0)      debug_inspector (>= 0.0.1)    builder (3.2.3)    byebug (10.0.2)    coderay (1.1.2)    coffee-rails (4.1.1)      coffee-script (>= 2.2.0)      railties (>= 4.0.0, < 5.1.x)    coffee-script (2.4.1)      coffee-script-source      execjs    coffee-script-source (1.12.2)    concurrent-ruby (1.0.5)    crass (1.0.4)    debug_inspector (0.0.3)    devise (4.5.0)      bcrypt (~> 3.0)      orm_adapter (~> 0.1)      railties (>= 4.1.0, < 6.0)      responders      warden (~> 1.2.3)    erubis (2.7.0)    execjs (2.7.0)    globalid (0.4.1)      activesupport (>= 4.2.0)    hike (1.2.3)    i18n (0.9.5)      concurrent-ruby (~> 1.0)    jbuilder (2.7.0)      activesupport (>= 4.2.0)      multi_json (>= 1.2)    jquery-rails (4.3.3)      rails-dom-testing (>= 1, < 3)      railties (>= 4.2.0)      thor (>= 0.14, < 2.0)    json (1.8.6)    loofah (2.2.2)      crass (~> 1.0.2)      nokogiri (>= 1.5.9)    mail (2.7.0)      mini_mime (>= 0.1.1)    method_source (0.9.0)    mini_mime (1.0.1)    mini_portile2 (2.3.0)    minitest (5.11.3)    multi_json (1.13.1)    mysql2 (0.3.18)    nokogiri (1.8.4)      mini_portile2 (~> 2.3.0)    orm_adapter (0.5.0)    pry (0.11.3)      coderay (~> 1.1.0)      method_source (~> 0.9.0)    pry-rails (0.3.6)      pry (>= 0.10.4)    rack (1.6.10)    rack-test (0.6.3)      rack (>= 1.0)    rails (4.2.5)      actionmailer (= 4.2.5)      actionpack (= 4.2.5)      actionview (= 4.2.5)      activejob (= 4.2.5)      activemodel (= 4.2.5)      activerecord (= 4.2.5)      activesupport (= 4.2.5)      bundler (>= 1.3.0, < 2.0)      railties (= 4.2.5)      sprockets-rails    rails-deprecated_sanitizer (1.0.3)      activesupport (>= 4.2.0.alpha)    rails-dom-testing (1.0.9)      activesupport (>= 4.2.0, < 5.0)      nokogiri (~> 1.6)      rails-deprecated_sanitizer (>= 1.0.1)    rails-html-sanitizer (1.0.4)      loofah (~> 2.2, >= 2.2.2)    railties (4.2.5)      actionpack (= 4.2.5)      activesupport (= 4.2.5)      rake (>= 0.8.7)      thor (>= 0.18.1, < 2.0)    rake (12.3.1)    rdoc (4.3.0)    redis (3.2.0)    redis-actionpack (5.0.2)      actionpack (>= 4.0, < 6)      redis-rack (>= 1, < 3)      redis-store (>= 1.1.0, < 2)    redis-activesupport (5.0.7)      activesupport (>= 3, < 6)      redis-store (>= 1.3, < 2)    redis-rack (2.0.4)      rack (>= 1.5, < 3)      redis-store (>= 1.2, < 2)    redis-rails (5.0.2)      redis-actionpack (>= 5.0, < 6)      redis-activesupport (>= 5.0, < 6)      redis-store (>= 1.2, < 2)    redis-store (1.5.0)      redis (>= 2.2, < 5)    responders (2.4.0)      actionpack (>= 4.2.0, < 5.3)      railties (>= 4.2.0, < 5.3)    sass (3.2.19)    sass-rails (4.0.5)      railties (>= 4.0.0, < 5.0)      sass (~> 3.2.2)      sprockets (~> 2.8, < 3.0)      sprockets-rails (~> 2.0)    sdoc (0.4.2)      json (~> 1.7, >= 1.7.7)      rdoc (~> 4.0)    spring (2.0.2)      activesupport (>= 4.2)    sprockets (2.11.0)      hike (~> 1.2)      multi_json (~> 1.0)      rack (~> 1.0)      tilt (~> 1.1, != 1.3.0)    sprockets-rails (2.3.3)      actionpack (>= 3.0)      activesupport (>= 3.0)      sprockets (>= 2.8, < 4.0)    thor (0.20.0)    thread_safe (0.3.6)    tilt (1.4.1)    turbolinks (5.2.0)      turbolinks-source (~> 5.2)    turbolinks-source (5.2.0)    tzinfo (1.2.5)      thread_safe (~> 0.1)    uglifier (4.1.19)      execjs (>= 0.3.0, < 3)    warden (1.2.7)      rack (>= 1.0)    web-console (2.3.0)      activemodel (>= 4.0)      binding_of_caller (>= 0.7.2)      railties (>= 4.0)      sprockets-rails (>= 2.0, < 4.0)PLATFORMS  rubyDEPENDENCIES  byebug  coffee-rails (~> 4.1.0)  devise  jbuilder (~> 2.0)  jquery-rails  mysql2 (= 0.3.18)  pry-rails  rails (= 4.2.5)  redis (= 3.2.0)  redis-rails  sass-rails (~> 4.0.2)  sdoc (~> 0.4.0)  spring  sprockets (= 2.11.0)  turbolinks  uglifier (>= 1.3.0)  web-console (~> 2.0)BUNDLED WITH   1.10.6

config/initializes/redis.rb

Second, I created this file.

require 'redis'uri = URI.parse(ENV["REDIS"])REDIS = Redis.new(host: uri.host, port: uri.port)

config/environments/development.rb

Third, I added ENV["REDIS"] = "localhost:6379" in the lowest line.

Rails.application.configure do  # Settings specified here will take precedence over those in config/application.rb.  # In the development environment your application's code is reloaded on  # every request. This slows down response time but is perfect for development  # since you don't have to restart the web server when you make code changes.  config.cache_classes = false  # Do not eager load code on boot.  config.eager_load = false  # Show full error reports and disable caching.  config.consider_all_requests_local       = true  config.action_controller.perform_caching = false  # Don't care if the mailer can't send.  config.action_mailer.raise_delivery_errors = false  # Print deprecation notices to the Rails logger.  config.active_support.deprecation = :log  # Raise an error on page load if there are pending migrations.  config.active_record.migration_error = :page_load  # Debug mode disables concatenation and preprocessing of assets.  # This option may cause significant delays in view rendering with a large  # number of complex assets.  config.assets.debug = true  # Asset digests allow you to set far-future HTTP expiration dates on all assets,  # yet still be able to expire them through the digest params.  config.assets.digest = true  # Adds additional error checking when serving assets at runtime.  # Checks for improperly declared sprockets dependencies.  # Raises helpful error messages.  config.assets.raise_runtime_errors = true  # Raises error for missing translations  # config.action_view.raise_on_missing_translations = true  ENV["REDIS"] = "localhost:6379"end

app/controller/posts_controller.rb

Finally, I described new code in def index and def show.

ids = REDIS.zrevrange "ranking", 0, -1@ranking_posts = Post.where(id: ids)

REDIS.zincrby "ranking", 1, "#{@post.id}"

By the way if I didn't describe two descriptions above,of course my rails application worked.

class PostsController < ApplicationController  def index    @posts = Post.all.order(id: :desc)    ids = REDIS.zrevrange "ranking", 0, -1    #the order of posts ranking    @ranking_posts = Post.where(id: ids)  end  def show    @post = Post.find_by(id: params[:id])    # update ranking    REDIS.zincrby "ranking", 1, "#{@post.id}"  end  def new  end  def create    Post.create(name: post_params[:name], text: post_params[:text], user_id: current_user.id)    redirect_to("/")  end  def destroy    post = Post.find(params[:id])    if post.user_id == current_user.id      post.destroy    end    redirect_to("/")

Please tell me how can I fix this error...(;^;)


Viewing all articles
Browse latest Browse all 873

Trending Articles