find_or_create_by_XX

已存在的数据,执行更新,如果没有存在,则插入数据。

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值