我在控制器中有以下代码,我想知道将其重构为一体的最佳方法。
if @country
if s.address
s.address.country = @country
else
s.address = Address.create(:country => @country)
end
end
if @state
if s.address
s.address.state = @state
else
s.address = Address.create(:state => @state)
end
end
if @zip
if s.address
s.address.zip = @zip
else
s.address = Address.create(:zip => @zip)
end
end
如果这里有一种变化,我会做类似的事情
[:country, :state, :zip].each do |location|
...
end
但在这种情况下,我使用的是 :country、.country 和 @country; 有什么更好的方法来利用它们具有相同的“根”字符串?谢谢!