Errno :: ECONNREFUSED in UserController # create

My application is inserted, so I started to register. After entering my information, I get an error message:

Errno :: ECONNREFUSED in UserController # create

Connection refused - {:data=>"<?xml version=\"1.0\" encoding=\"UTF-8\"?><add><doc><field name=\"id\">User 1</field><field name=\"type\">User</field><field name=\"type\">ActiveRecord::Base</field><field name=\"class_name\">User</field><field name=\"username_text\">mikeadeleke</field><field name=\"bio_text\">Founder of Edopter</field></doc></add>", :headers=>{"Content-Type"=>"text/xml"}, :method=>:post, :params=>{:wt=>:ruby}, :query=>"wt=ruby", :path=>"update", :uri=>#<URI::HTTP:0x007fb6c3c911d0 URL:http://localhost:8982/solr/update?wt=ruby>, :open_timeout=>nil, :read_timeout=>nil, :retry_503=>nil, :retry_after_limit=>nil} 

Message:

 app/controllers/users_controller.rb:14:in `create' 

So here is my code that causes hold. I see no problems and run it through the roodi validator.

 class UsersController < ApplicationController before_filter :get_user, except: [:new, :create] def get_user @user = User.find_by_username(params[:user_name]) end def new @user = User.new end def create @user = User.new(params[:user]) if @user.save sign_in @user flash[:success] = "Woohoo! Thanks for creating an account. Feel free to edit your profile or look around elsewhere!" redirect_to(user_url(@user.username)) else render 'new' end end def show @resources_upvoted = [] @user.upvotes.where(upvotable_type: "Resource").each do |upvote| @resources_upvoted << upvote.upvotable end @crafts_interested = [] @resources_upvoted.each do |resource| craft = resource.craft if !@crafts _interested.include?(craft) @crafts_interested << craft end end end def edit if @user != current_user redirect_to user_url(@user.username) end end def update @user.email = params[:email] @user.bio = params[:bio] @user.save redirect_to edit_user_url(params[:user_name]) end def destroy @user.destroy redirect_to home_url end end 
+4
source share
1 answer

Your db connection is ok, in fact you have the answer in the error message;)

If you look at it, you will find this code:

 URL:http://localhost:8982/solr/update?wt=ruby> 

which means you need to start your solr server. You can start with a simple RAILS_ENV=your_env rake sunspot:solr:run . Consider also adding some begin... rescue block around @user.save to display some message, and not to completely crash the application.

If you're wondering why you get this error without explicitly calling solr - solr adds a callback to the save method, so it indexes every new (or updated) record, which means that you won't have (theoretically) reindexed from scratch after adding new ones data.

+9
source

Source: https://habr.com/ru/post/1500369/


All Articles