Ruby on rails Rails应用程序的调试建议

Ruby on rails Rails应用程序的调试建议,ruby-on-rails,ruby,ruby-on-rails-4,heroku,Ruby On Rails,Ruby,Ruby On Rails 4,Heroku,我有一个rails事件注册应用程序,它给了我一些问题。我有一个用户想注册一个事件,但当她试图注册时,她得到了一个错误,出现了一些错误。。。通用rails生产错误。即使在其他浏览器上,我也无法复制这个问题,从那以后很多人都注册了。在Heroku rails控制台中,我可以看到它没有将她保存在数据库中 NewRelic显示这是一个错误: ActionView::Template::Error: undefined method `registrations_path' for #<#<C

我有一个rails事件注册应用程序,它给了我一些问题。我有一个用户想注册一个事件,但当她试图注册时,她得到了一个错误,出现了一些错误。。。通用rails生产错误。即使在其他浏览器上,我也无法复制这个问题,从那以后很多人都注册了。在Heroku rails控制台中,我可以看到它没有将她保存在数据库中

NewRelic显示这是一个错误:

ActionView::Template::Error: undefined method `registrations_path' for #<#<Class:0x007f603c0cfe38>:0x007f602c773240>
URL /events/6/registrations
HTTP referrer   http://.../events/6/registrations/new
我可以看出,当她试图这么做时,这件事发生了几次。她还参加了另一项活动,也遇到了同样的问题

以下是我的创建方法:

def create
    @current_event = Event.find(params[:event_id])
    @registration = @current_event.registrations.new(registration_parameters)

    # Checking that there are still seats available
    if (@current_event.registrations.count < @current_event.total_number_registrants)
        # Checking that the user hasn't already registered
        if (Registration.where(event_id: @current_event.id).where(email: @registration.email).count == 0)
            respond_to do |format|
                if @registration.save
                    EventMailer.new_registration_notification(@registration, @current_event).deliver
                    Recipient.create :first_name => @registration.first_name, :last_name => @registration.last_name, :email => @registration.email, :netID => @registration.netID, :event_id => @registration.event_id, :mailing_id => nil
                    format.html { redirect_to event_path(@current_event), notice: 'Registration was successful' }
                    format.json { render :show, status: :created, location: @registration}
                else
                    format.html { render :new }
                    format.json { render json: @registration.errors, status: :unprocessable_entity }
                end
            end
        else
            redirect_to event_path(@current_event), notice: 'This email is already registered'
        end
    else
        redirect_to event_path(@current_event), notice: 'There are no seats available'
    end
end

关于如何修复无法复制但具有跟踪功能的错误的任何建议。我甚至不知道在哪里会调用“注册路径”。

它在视图模板中的某个地方。我假设您的注册资源嵌套在事件下,因此注册路径不存在于路由中,而是类似于事件注册路径


您的事件显示模板是什么样子的?

我正在等待了解过程中发生错误的确切位置,但我确实在sublime中进行了“在文件中查找”搜索,以查找“注册\路径”,但我没有看到任何内容,只看到事件\注册\路径。这和表格有关吗?它必须发生在重定向之前,因为它没有保存到数据库,而且还有座位,电子邮件是唯一的。Show方法很长,但我可以在这里继续使用,我知道为什么它只会发生在我知道的一个用户身上,而不会发生在其他注册用户身上。我甚至无法复制错误,但由于某种原因,该用户无法注册任何事件,如果该方法不在任何地方,这是最奇怪的。一定是从什么地方来的。当你听到回音时,让我们知道错误发生的时间点。是的,不幸的是我从未调试过这样的错误!我认为这只发生在一个基于日志的用户身上。她在Safari上使用OSX10.10.4,我尝试过使用,但仍然无法复制。她出现在eventshow上,单击register registrationnew,然后填写表单并单击Submit registrationcreate-无视图,但应重定向。因此,在new和create之间的某个位置,无需将其保存到数据库。奇怪的这一定是一条重定向路径。你有没有可能把你的代码放在Github或其他地方让我看看?在黑暗中拍摄有点困难!