Crud积极的记录是什么
#编程 #database #帮助 #ruby

以下将是有关Ruby活动记录中用于操纵(读/写)数据的CRUD方法的教程。在此处了解有关活动记录的更多信息Active Record documentation

crud?
这是什么意思?如果您还不熟悉Crud,我可以简要地解释这些概念。
CRUD是创建,阅读,更新和删除的首字母缩写。

为什么crud?
CRUD大量用于编程中,作为与存储数据通信的一种方式。这些所谓的存储数据通常来自API和 /或数据库。访问或操纵我们使用CRUD的信息。

crud示例
下面我将证明CRUD方法的使用以及这些调用方法的输出。我建议参考任何澄清的主动记录文档! CRUD methods


创造

在活动记录中,我们可以使用.new方法或.greate方法创建对象。我们使用.greate方法来创建和保存新对象。通常,在主动记录中,在Ruby类中调用了.greate方法来创建该类的实例。该方法以变量或哈希的形式进行参数。

//.create method 

adele_album = Album.create(song1: "hello", song2: "someone like you")

or

adele_song = Song.create("hello")

// .new method

album = Album.new
album.song1 = "hello"
album.song2 = "someone like you"
album.save

使用.new方法创建新对象时,需要使用保存方法来使对象持续在数据库中,这与.greate方法一起创建和保存对象。


活动记录使从数据库中检索数据相当容易,将其视为一种getter方法,因为它根据调用方法返回。

例如:

//the .all method will return all instances of album. 

Album.all
=> [song1: "hello", song2: "someone like you"]
//the .find method returns based on the id passed in as a argument. 

Album.find(2)
=> [song2: "someone like you"]

使用活性记录时,请记住在使用.new方法的AFT6EDR时创建对象或保存AFT6EDR时,请自主生成。

//the first and last method returns the first object/instance //in the class and the last method returns the last //object/instance

Album.first
=>[song1: "hello"]

Album.last
=>[song2: "someone like you"]

更新

在我们能够更新对象之前,必须首先读取它。这将为我们提供要更新的确切对象。可以使用.save方法或.update方法进行更新。
.SAVE方法最适合用于数据库中尚未存在的对象,最佳使用是在需要更改的数据库中存在的对象上。

//for objects not already in the database we use .save

song = Album.find_by(song1: "hello")
song.song1 = "Rolling in the deep"
song.save

or 

song = Album.find_by(song1: "hello")
song.update(song1: "Rolling in the deep")

检查数据库以确保进行更改。


删除

删除对象时,您可以根据所使用的删除方法读取对象或将对象传递为参数。以下将是删除方法的几个示例。

//when using the .destroy method, read the object first. 
first_song = Album.first 
first_song.destroy

//the code above can be short handed 
Album.first.destroy 

//we can be specific with the key and values of a class //instance we want to destroy by using the .destroy_by method
//this method takes in an argument of what you want deleted

//however the destroy_by will delete all instances that have //the argument passed in, in this example all song1 keys with //the value "hello" will be deleted.

Album.destroy_by(song1: "hello")

//to delete all instances in a class use the .destroy_all //method

Album.destroy_all

//all instances in the Album class will be deleted.