Ruby on rails 允许现有用户在项目管理工具中“分叉”项目
我正在设计一个项目管理应用程序,我希望我的用户能够“分叉”数据库中的现有项目。例如,@user1将创建一个项目,@user2可能想要修改该项目,因此@user2将单击一个选项来“分叉”它。 当这种情况发生时,@user2的现有项目几乎是重复的,除非他/她能够修改它的内容 我认为嵌套属性可能会起作用,但我认为这不是正确的方法 有什么建议吗?你应该使用这个方法。 从页面: 被复制的对象没有指定id,并被视为新记录。请注意,这是一个“浅”副本,因为它只复制对象的属性,而不复制其关联。“深度”拷贝的范围是特定于应用程序的,因此由应用程序根据需要实现。dup方法不保留在| on |创建的| updated | u时间戳Ruby on rails 允许现有用户在项目管理工具中“分叉”项目,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我正在设计一个项目管理应用程序,我希望我的用户能够“分叉”数据库中的现有项目。例如,@user1将创建一个项目,@user2可能想要修改该项目,因此@user2将单击一个选项来“分叉”它。 当这种情况发生时,@user2的现有项目几乎是重复的,除非他/她能够修改它的内容 我认为嵌套属性可能会起作用,但我认为这不是正确的方法 有什么建议吗?你应该使用这个方法。 从页面: 被复制的对象没有指定id,并被视为新记录。请注意,这是一个“浅”副本,因为它只复制对象的属性,而不复制其关联。“深度”拷贝的范围
简而言之,@project.dup将构建一个新的项目对象,其所有参数与@project相同,除了-id、created_at、updated_at字段@user2可以修改这个新构建的对象,然后保存它。这模仿了fork功能。您的意思是希望user2有一个独立的副本吗?那么fork只是一种基于其他人的项目快速启动的方法。或者您希望user2将其视为自己的项目,但一个用户所做的更改将被所有用户看到?