加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Errno :: ECONNREFUSED在UsersController #cre

发布时间:2020-12-17 03:48:16 所属栏目:百科 来源:网络整理
导读:我的申请已经开始,然后我继续注册.输入我的信息后,我收到一个错误页面说: 用户控件#creore中的Errno :: ECONNREFUSED Connection refused - {:data="?xml version="1.0" encoding="UTF-8"?adddocfield name="id"User 1/fieldfield name="type"User/
我的申请已经开始,然后我继续注册.输入我的信息后,我收到一个错误页面说:

用户控件#creore中的Errno :: ECONNREFUSED

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}

消息:

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

所以这是我的代码导致了阻塞.我看到没有问题,并通过roodi验证器运行它.

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

解决方法

您的数据库连接没问题,事实上,您已在错误消息中回答;)

如果您将查看它,您将找到该代码:

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

这意味着你需要启动你的solr服务器.你可以用简单的RAILS_ENV = your_env rake sunspot:solr:run来启动它.考虑在@ user.save周围添加一些begin … rescue block来输出一些消息,而不是让整个应用程序崩溃.

如果你有兴趣为什么在没有显式调用solr的情况下得到错误 – solr会将回调添加到save方法,那么它会为每个新的(或更新的)记录编制索引,这意味着在添加new之后你将不会(理论上)从头开始重新索引数据.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读