Ruby on rails 如果@transaction.save失败,则Rails呈现

Ruby on rails 如果@transaction.save失败,则Rails呈现,ruby-on-rails,controller,save,render,Ruby On Rails,Controller,Save,Render,我已经为此挣扎了一段时间了 我有一个更复杂的表单(同时保存一个事务和两个事务数据) 我把它保存好了,但是我正在努力处理错误。如果我在“create”中使用下面的语句(如果出现错误),那么它不会保存提交之前在同一页面上的任何值,并且基本上以rails错误结束 if @transac.save ... else ... format.html { render :action => 'buy' } end 在我提交表格之前的“购买”(在控制器中)中,我有如下内容: @tra

我已经为此挣扎了一段时间了

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

我把它保存好了,但是我正在努力处理错误。如果我在“create”中使用下面的语句(如果出现错误),那么它不会保存提交之前在同一页面上的任何值,并且基本上以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不会运行控制器操作“buy”,而只运行其视图。我该怎么办?我需要@my_集合来显示单选按钮元素列表,如果出现错误,用户将从中选择这些元素

你确定
事务
(甚至
获取
)不是一个问题吗?

我去掉了“事务”和“获取”,但仍然是同一个问题,这似乎与Rails不运行控制器动作“获取”有关。。。那我该怎么办?!太令人沮丧了!如果名为get的控制器操作仍然存在问题,为什么不更改该操作的名称(Rails约定可能是“show”)。另外,发布您的最新代码,因为您答案中的代码仍然显示一个名为“Transaction”的模型。。。