【问题标题】:Rails render if @transaction.save fails如果@transaction.save 失败,Rails 会渲染
【发布时间】:2010-01-14 01:21:25
【问题描述】:

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

我有一个更复杂的表单(同时保存一个事务和两个 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 不会运行控制器动作“购买”,而只会运行它的视图。我该如何处理?我需要@my_collection 来显示用户在出现错误时可以从中选择的单选按钮元素列表?!

【问题讨论】:

    标签: ruby-on-rails controller save render


    【解决方案1】:

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

    【讨论】:

    • 我去掉了“transaction”和“get”,但还是同样的问题,而且似乎和Rails没有运行Controller动作“get”有关...那么我该如何处理呢?!太令人沮丧了!
    • 如果您仍然对名为 get 的控制器操作有问题,为什么不更改该操作的名称(Rails 约定可能是“显示”)。另外,发布您的最新代码,因为您的答案中的代码仍然显示一个名为“交易”的模型......
    猜你喜欢
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多