已存在的数据,执行更新,如果没有存在,则插入数据。
view:
<%=g.d f.select "#{d[:cityid]}-#{d[:device_manu]}",[["",""],["TL1","tl1"],["SNMP","snmp"]], {:selected =>d[:means] }%>
model:
def self.update_collect_means(collect_means)
collect_means.each_pair do |id,means|
update_all("id='#{id}'","means = '#{means}'")
end
end
controller:
def update_collect_means
params[:collect_means].each_pair do |id,means|
unless means.blank?
keys = id.split("-")
#collect_mean = CollectMean.new(:cityid => keys[0],:device_manu => keys[1],:means => "#{means}")
collect_mean = CollectMean.find_or_create_by_cityid_and_device_manu_and_means(:cityid => keys[0], :device_manu => keys[1],:means => "#{means}")
collect_mean.save
end
end
#CollectMean.update_collect_means(params[:collect_means])
flash[:notice] = "更新采集方式成功。"
redirect_to :action => :index
end
view:
<%=g.d f.select "#{d[:cityid]}-#{d[:device_manu]}",[["",""],["TL1","tl1"],["SNMP","snmp"]], {:selected =>d[:means] }%>
model:
def self.update_collect_means(collect_means)
collect_means.each_pair do |id,means|
update_all("id='#{id}'","means = '#{means}'")
end
end
controller:
def update_collect_means
params[:collect_means].each_pair do |id,means|
unless means.blank?
keys = id.split("-")
#collect_mean = CollectMean.new(:cityid => keys[0],:device_manu => keys[1],:means => "#{means}")
collect_mean = CollectMean.find_or_create_by_cityid_and_device_manu_and_means(:cityid => keys[0], :device_manu => keys[1],:means => "#{means}")
collect_mean.save
end
end
#CollectMean.update_collect_means(params[:collect_means])
flash[:notice] = "更新采集方式成功。"
redirect_to :action => :index
end