我有这个控制器代码,我想在其中一个方法中出现错误时脱离循环。以下是示例
def batch_save
# some code
SheetEntry.transaction do
params[:entries].keys.each do |key|
method1(key,value)
method2(key,value)
end
end
rescue SheetEntriesInvalid => e
respond_to do |format|
format.html {
flash[:error] = "Sorry, cannot save "
redirect_to :action => :index
}
format.js { render :batch_save }
end
end
def method1(key,value)
if period_opened(value) == false
flash[:error]=" Please contact Administrator."
redirect_to :action => :index
end
end
我想知道当method1
出现错误并且只是重定向到索引并在method1
中显示错误时如何摆脱事务循环。