繁体   English   中英

如何销毁建筑物?

[英]How to destroy a built object?

如何删除或破坏内存中而不是数据库中的对象?

irb(main):034:0> mentor.registered_students.build(:user_id => 20)
=> #<RegisteredStudent id: nil, user_id: 20, assigned_mentor_id: 1, description: nil, created_at: nil, updated_at: nil>

irb(main):035:0> mentor.registered_students.last
=> #<RegisteredStudent id: nil, user_id: 20, assigned_mentor_id: 1, description: nil, created_at: nil, updated_at: nil>

irb(main):036:0> mentor.registered_students.last.destroy
   (0.3ms)  BEGIN
   (0.2ms)  COMMIT
=> #<RegisteredStudent id: nil, user_id: 20, assigned_mentor_id: 1, description: nil, created_at: nil, updated_at: nil>

irb(main):037:0> mentor.registered_students.last.delete
=> #<RegisteredStudent id: nil, user_id: 20, assigned_mentor_id: 1, description: nil, created_at: nil, updated_at: nil>

irb(main):038:0> mentor.registered_students.last
=> #<RegisteredStudent id: nil, user_id: 20, assigned_mentor_id: 1, description: nil, created_at: nil, updated_at: nil>

我已经使用了destroy或delete,但它们在数据库中查找记录。

控制器动作:

  def mix
    unless params[:mentor_id].nil? || params[:students_id].nil?
      @mentor   = AssignedMentor.find params[:mentor_id]
      @students = params[:students_id]
      @students.each do |student|
        if student[1] == "0"
          registered_student = RegisteredStudent.where("assigned_mentor_id = ? AND user_id = ?", @mentor.id, student[0] ).first
          registered_student.destroy
        end
        if student[1] == "1"
          @mentor.registered_students.build(:user_id => student[0])
          @mentor.save
          if @mentor.errors.size > 0
            @mentor.registered_students.reload
          end
        end
      end
      #redirect_to bind_admin_users_path
    end
    #flash[:alert] = t("labels.no_students")
    redirect_to bind_admin_users_path
  end
mentor.registered_students.reload

绝招

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM