小编Bra*_*rad的帖子

当解决方案是删除冲突的文件时,有没有办法让git rerere工作?

这是交易.master有一个文件file1.我分支,并删除分支中的该文件.同时,我修改了master上的file1.繁荣,冲突.

当我将我的分支合并到master时,解决方法是删除该文件.我试图使用git rerere能够多次执行相同的分辨率,但正如您在下面看到的那样,当您删除文件时,它不会记录分辨率.

我没有具体找到这方面的文件,这只是一个限制rerere吗?

 |system| brad-macbook-air in ~/tmp
± bb+ih |master ?| ? touch file1.txt

 |system| brad-macbook-air in ~/tmp
± bb+ih |master ?| ? git add . && git commit -m 'File1'
[master (root-commit) 95a807e] File1
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file1.txt

 |system| brad-macbook-air in ~/tmp
± bb+ih |master ?| ? git checkout -b delete_file_1
Switched to a new branch 'delete_file_1'

 |system| brad-macbook-air in ~/tmp
± bb+ih |delete_file_1 ?| ? git …
Run Code Online (Sandbox Code Playgroud)

git git-rerere

8
推荐指数
1
解决办法
501
查看次数

如何最好地"合并"两个对象及其在rails中的关联?

这是我的情况:我有两个人对象,person1和person2,它们是从两个不同的外部数据源创建的.我有一个手动过程,我使用它确定person1和person2实际上是指同一个人,所以我想要做的是将它们"合并"到一个人,并删除副本.

我没有问题,通过对对象本身领域的基础字段这样做,但得到棘手的事情,将难以维持,如果我做不好,就是这些人有关联(我们不都是).我想要做的是将相应的字段复制到person1(我将继续使用),我想将关联从person2移动到person1.

我认为我的问题归结为:有没有办法1)迭代对象的每个关联,2)确定该关联的foreign_key字段.我很确定,如果我能够做那些事情,我可以编写一个方法,自动将每个相关记录从person2移动到person1,如果我添加或删除关联,则不会更改该代码.

关于如何做到这一点的任何想法?

谢谢.

编辑:我已根据Duncan的回答中给出的指针实现(尽可能快速和肮脏).为了防止任何人这样做,这是一个粗略的概述,你可以如何将所有相关对象从一个对象(在这种情况下为@ p2)移动到另一个对象(@ p1).

Person.reflect_on_all_associations.each do |assoc|
  if assoc.macro == :has_many
    @p2.send(assoc.name).each do |assoc_obj|
      assoc_obj.update_attribute(assoc.primary_key_name, @p1.id)
    end
  elsif assoc.macro == :has_one
    @p2.send(assoc.name).update_attribute(assoc.primary_key_name, @p1.id)
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails associations

6
推荐指数
1
解决办法
1413
查看次数

rails中的数组参数是否保证按它们在url中出现的顺序排列?

给出以下网址:http://example.com?arr [] = hello&arr [] = to&arr [] = you

我能否依据以下事实:

params[:arr] == ['hello', 'to', 'you']
Run Code Online (Sandbox Code Playgroud)

我问,因为我有一些额外的数据将与需要映射到params [:arr]中的每个值的请求一起发送.

ruby url ruby-on-rails params

5
推荐指数
1
解决办法
448
查看次数

标签 统计

ruby-on-rails ×2

associations ×1

git ×1

git-rerere ×1

params ×1

ruby ×1

url ×1