如何在 rails 中更改 Ruby 中的模型所有者?
How to change model owner in Ruby in rails?
我在 rails 和 mongoid 上使用 Ruby。
我有两个模型 User.rb 和 Project.rb。如果我想更改项目模型的所有者,我应该怎么做?
User.rb
class User
include Mongoid::Document
field :name, type: String
has_many :projects, dependent: :destroy
end
Project.rb
class Project
include Mongoid::Document
field :title, type: String
validates :user_id, presence: true
belongs_to :user, touch: true
end
在 form.html.erb 我有 select 模式
<div class="form-group">
<%= f.collection_select :user_id, User.all, :id, :name, class: 'form-control' %>
</div>
您应该可以将其分配给用户字段,然后将其保存以将其持久保存到数据库中
project = Project.find(project_id)
new_owner = User.find(new_owner_id)
project.user = new_owner
project.save
我很久以前没有使用 mongoid,但你可以在 rails console
:
上尝试 运行 这些命令
project.user = owner_object;
project.save
或
project.user_id = owner_id
project.save
我在 rails 和 mongoid 上使用 Ruby。 我有两个模型 User.rb 和 Project.rb。如果我想更改项目模型的所有者,我应该怎么做?
User.rb
class User
include Mongoid::Document
field :name, type: String
has_many :projects, dependent: :destroy
end
Project.rb
class Project
include Mongoid::Document
field :title, type: String
validates :user_id, presence: true
belongs_to :user, touch: true
end
在 form.html.erb 我有 select 模式
<div class="form-group">
<%= f.collection_select :user_id, User.all, :id, :name, class: 'form-control' %>
</div>
您应该可以将其分配给用户字段,然后将其保存以将其持久保存到数据库中
project = Project.find(project_id)
new_owner = User.find(new_owner_id)
project.user = new_owner
project.save
我很久以前没有使用 mongoid,但你可以在 rails console
:
project.user = owner_object;
project.save
或
project.user_id = owner_id
project.save