我在我的rails应用程序中有一个House模型,其中包含了多个交易。我正在房子的展示页面上展示这些优惠。当我提交表单时,如果使用redirect_to,一切正常;但是,如果交易模型上存在验证错误,那么我的系统无法正常工作。如果交易模型中存在验证错误。
在 routes.rb 中,我有
resources :houses do
resources :deals
end
在 deals_controller.rb 中,我有下一个创建方法:
def create
@house = House.find_by_slug(params[:house_id])
@deal = @house.deals.build(params[:deal])
@deal.user = current_user
respond_to do |format|
if @deal.save
format.html { redirect_to @house, :notice => 'Your offer has been created successfully' }
format.json { render json: @house, status: :created, location: @house }
else
format.html { redirect_to @house, :alert => 'Oops, something went wrong. Please try again' }
format.json { render json: @house.errors, status: :unprocessable_entity }
end
end
end
redirect_to 正常工作,但在验证表单模型失败时无法自定义错误消息。
当@ deal.save失败时我检查了这个方法:
render :template => 'houses/show'
我在Where to render comments controller in Rails on model validations failure?
中看到的这种方法我只想渲染房子而不是为我工作,因为表格有一个动作:
/房屋/名称的内部/优惠
并且不会重定向到 / houses / name-of-house /
如何从房屋管理员的动作节目中获取表格交易(儿童)的错误验证?
答案 0 :(得分:0)
我有同样的问题。我认为这是Where to render comments controller in Rails on model validations failure?的副本 - 我在那里添加了我自己的回复。