我的Rails 5应用程序中有一个代码块,我需要运行两次,但每次都有一个不同的变量:
if params[:origin]
ride.waypoints.new(params[:origin].permit(:zip, :street, :number, :district, :city, :state))
end
if params[:destination]
ride.waypoints.new(params[:destination].permit(:zip, :street, :number, :district, :city, :state))
end
正如你所看到的那样,两次完全相同的代码,但一旦我使用了原点和一次目的地。是否有一种优雅的方法来缩短这一点,所以我不必拥有几乎重复的代码?
答案 0 :(得分:1)
如下:
[:origin, :destination].each do |key|
ride.waypoints.new(params[key].permit(:zip, :street, :number, :district, :city, :state)) if params[key]
end