【发布时间】:2018-03-23 13:20:21
【问题描述】:
几乎在我的应用程序的每一页上,我都有一个部分的表单,我可以在其中创建一个报价。为此,我有一个 offers_controller 和一个适当的 create 操作:
class OffersController < ApplicationController
def create
offer = Offer.new(offer_params)
if offer.save
redirect_to confirmation_offer_path
else
redirect_back(fallback_location: root_path, alert: 'Something went wrong.')
end
end
private
def offer_params
params.permit(:company, :first_name, :last_name, :email, :phone, :subject, :message)
end
end
如果验证失败,我需要显示错误消息。由于此表单位于每个页面上,我不知道如何呈现适当的操作。如果我只有一个页面包含此表单,控制器将如下所示:
class OffersController < ApplicationController
def new
@offer = Offer.new
end
def create
@offer = Offer.new(offer_params)
if @offer.save
redirect_to confirmation_offer_path
else
render :new
end
end
def offer_params
params.require(:offer).permit(:company, :first_name, :last_name, :email, :phone, :subject, :message)
end
end
那么,我怎样才能呈现一个动作来显示错误消息呢?先谢谢了。
【问题讨论】: