Ruby on rails 如何在RubyonRails中重定向到控制器中的现有记录

Ruby on rails 如何在RubyonRails中重定向到控制器中的现有记录,ruby-on-rails,activerecord,model,carrierwave,Ruby On Rails,Activerecord,Model,Carrierwave,我正在开发一个应用程序,用户可以通过carrierwave以pdf格式上传简历。应该只能上载一个文件,但我不能使记录在数据库级别上唯一,也不能将唯一用作模型文件的验证,因为carrierwave不允许这样做 为了解决这个问题,我决定,如果存在任何记录,我至少要将新操作重定向到show actionexisting download_文件,这样用户就无法将第二个文件上载到数据库中 我想我的问题是新操作发现了一个id为1的已销毁简历记录,这就是为什么表单不会被呈现,我也不会被重定向到现有记录的原因

我正在开发一个应用程序,用户可以通过carrierwave以pdf格式上传简历。应该只能上载一个文件,但我不能使记录在数据库级别上唯一,也不能将唯一用作模型文件的验证,因为carrierwave不允许这样做

为了解决这个问题,我决定,如果存在任何记录,我至少要将新操作重定向到show actionexisting download_文件,这样用户就无法将第二个文件上载到数据库中

我想我的问题是新操作发现了一个id为1的已销毁简历记录,这就是为什么表单不会被呈现,我也不会被重定向到现有记录的原因

我怎样才能做到这一点?我错过了什么

resume_controller.rb

开发日志

在您的代码中,Resume.exists是否存在?类似于问一个问题,我的数据库中是否至少有一份简历记录

如果检查它生成的查询,您将看到如下内容

class ResumesController < ApplicationController
  # ...

  def new
    if resume = current_user.resume
      redirect_to resume
    else
      @resume = Resume.new
    end
  end

  # ...
end
从'resumes'限制1中选择1作为一个

我相信你真正想做的是把简历和用户联系起来。如上所述,您需要在用户和简历之间建立一个关系,以跟踪关联

然后你会想要像这样的东西

class ResumesController < ApplicationController
  # ...

  def new
    if resume = current_user.resume
      redirect_to resume
    else
      @resume = Resume.new
    end
  end

  # ...
end

你能用简历和用户模型之间的关联吗?这样,每个用户只能关联一个简历模型。干得好@metahamza!这就是我的意思!更多信息,谢谢大家!当我解决一个新问题时,我将尝试实施它。。。与将用户模型与resume关联相关。我在创建操作上遇到一个无方法错误。
Started GET "/resumes/new" for 77.8.47.62 at 2017-08-22 19:58:07 +0000
Cannot render console from 77.8.47.62! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by ResumesController#new as HTML
  [1m[36mResume Exists (0.1ms)[0m  [1mSELECT  1 AS one FROM "resumes" LIMIT 1[0m
  [1m[35mResume Load (0.1ms)[0m  SELECT  "resumes".* FROM "resumes" WHERE "resumes"."id" = ? LIMIT 1  [["id", nil]]
Redirected to https://rails-tutorial-martinbortowski.c9.io/
Completed 302 Found in 10ms (ActiveRecord: 0.9ms)


Started GET "/" for 77.8.47.62 at 2017-08-22 19:58:08 +0000
Cannot render console from 77.8.47.62! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by WelcomesController#index as HTML
  Rendered welcomes/index.html.erb within layouts/application (0.3ms)
Completed 200 OK in 59ms (Views: 58.2ms | ActiveRecord: 0.0ms)
class ResumesController < ApplicationController
  # ...

  def new
    if resume = current_user.resume
      redirect_to resume
    else
      @resume = Resume.new
    end
  end

  # ...
end