如果@ transaction.save失败,则会渲染Rails

时间:2010-01-14 01:21:25

标签: ruby-on-rails controller save render

我一直在努力解决这个问题......

我有一个更复杂的表单(同时保存一个事务和两个transaction_data)。

我得到了保存所有权利,但我正在努力处理错误。如果我在“创建”中使用以下内容 - 如果出现错误 - 它不会保存我在提交之前在同一页面上拥有的任何值,并且基本上以rails错误结束。

if @transac.save
   ...
else
   ...
   format.html { render :action => 'buy' }
end

在我提交表格之前,在“购买”(在控制器中),我有类似的东西:

@transac = Transac.new
2.times { @transac.transaction_datas.build }
@my_collection = current_user.items.all

问题在于,如果出现错误,Rails不会运行Controller操作“buy”,而只会运行它的视图。我怎么处理这个?我需要@my_collection来显示用户在发生错误时可以选择的单选按钮元素列表?!

1 个答案:

答案 0 :(得分:1)

您确定transaction(甚至get ??)不是reserved word吗?