更新嵌套属性追加而不是更新有许多关系我试图使用Rails 4 Update_attributes
Class Person <ActiveRecord::Base
has_many :pets
accepts_nested_attributes_for :pets
end
Class Pet < ActiveRecord::Base
belongs_to :person
end
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我正在接受params为{id:23,house_no:'22A',宠物:[{name:'jeffy',type:'dog'},{name:'sharky',type:'fish'} ]}
我的更新方法是
def update
@Person = Person.find(params[:id])
if @Person.update(person_params)
@Person.save
render 'persons/create', status 200
else
render 'persons/create', status 400
end
end
private
def person_params
person_params = params.permit(:house_no)
person_params.merge! ({pets_attributes: params[:pets]}) if params[:pets].present?
person_params
end
Run Code Online (Sandbox Code Playgroud)
现在,当我更新它并且如果该人已经有宠物时,则新宠物被附加而不是更新,例如,如果id为1的人有1只名为"Tiger"的宠物并且我用2只名为"Shasha"的宠物更新该人"Monti"然后这个人的记录有3只宠物(Tiger,Shasha和Monti)而不是更新为2(Shasha和Monti)
我正在使用python与igraph库:
from igraph import *
g = Graph()
g.add_vertices(4)
g.add_edges([(0,2),(1,2),(3,2)])
print g.betweenness()
Run Code Online (Sandbox Code Playgroud)
我想生成一个包含10000个节点和100000个边的随机图.边缘可以是随机的.请建议一种随机边缘的方法(使用numpy.random.rand)