gpt4 book ai didi

ruby-on-rails - 由于重定向到索引 Action ,如何在销毁 Action 上显示错误消息?

转载 作者:行者123 更新时间:2023-12-03 08:05:43 28 4
gpt4 key购买 nike

在模型中,我有:

before_destroy :ensure_not_referenced_by_any_shopping_cart_item


def ensure_not_referenced_by_any_shopping_cart_item
unless shopping_cart_items.empty?
errors.add(:base, "This item can't be deleted because it is present in a shopping cart")
false
end
end

当购物车中有该物品时,它不会被销毁(这很好),并且如果在操作中记录该物品,我会看到错误。
def destroy
@product = Beverage.find(params[:id])
@product.destroy

logger.debug "--- error: #{@product.errors.inspect}"

respond_to do |format|
format.html { redirect_to beverages_url }
format.json { head :ok }
end
end

..但是当 redirect_to发生时,设置了错误消息的实例变量将被放弃,因此用户永远不会看到它。

错误消息应如何保留到下一个 Action ,以便可以在其 View 中显示?

谢谢!

最佳答案

我建议使用Flash消息中继错误信息。

respond_to do |format|
format.html { redirect_to beverages_url, :alert => "An Error Occurred! #{@products.errors[:base].to_s}"
format.json { head :ok }
end

某种效果。这就是我在自己的应用中处理类似问题的方式,但这取决于要向用户显示的信息的详细信息。

关于ruby-on-rails - 由于重定向到索引 Action ,如何在销毁 Action 上显示错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9420449/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com