在Rails中保存记录有许多关联可以通过以下步骤完成:
# app/models/user.rb
class User < ApplicationRecord
has_many :posts
end
# app/models/post.rb
class Post < ApplicationRecord
belongs_to :user
end
$ rails generate migration CreateUsers
$ rails generate migration CreatePosts
在生成的迁移文件中,你可以添加必要的列,并使用外键来建立关联。
# db/migrate/[timestamp]_create_users.rb
class CreateUsers < ActiveRecord::Migration[6.0]
def change
create_table :users do |t|
t.string :name
t.timestamps
end
end
end
# db/migrate/[timestamp]_create_posts.rb
class CreatePosts < ActiveRecord::Migration[6.0]
def change
create_table :posts do |t|
t.string :title
t.text :content
t.references :user, foreign_key: true
t.timestamps
end
end
end
user = User.create(name: "John Doe")
post = user.posts.build(title: "Hello World", content: "This is my first post")
post.save
user = User.find(1)
posts = user.posts
user = User.find(1)
post = user.posts.find(1)
post.title = "New Title"
post.save
这是一个基本的例子来说明如何在Rails中保存记录并建立关联。当然,Rails提供了更多的方法和选项来处理复杂的关联关系和查询。你可以参考Rails的官方文档来了解更多信息:
领取专属 10元无门槛券
手把手带您无忧上云