ruby-on-rails – 从Rails中的ActiveRecord :: RecordNotFound获
发布时间:2020-12-17 02:42:59 所属栏目:百科 来源:网络整理
导读:我在application_controller.rb中处理RecordNotFound错误,如下所示: rescue_from ActiveRecord::RecordNotFound,:with = :record_not_found private def record_not_found flash[:error] = "Oops,we cannot find this record" redirect_to :back end 但我想
我在application_controller.rb中处理RecordNotFound错误,如下所示:
rescue_from ActiveRecord::RecordNotFound,:with => :record_not_found private def record_not_found flash[:error] = "Oops,we cannot find this record" redirect_to :back end 但我想获得更多信息,例如找不到哪条记录的类/表名. 谢谢. 解决方法
比如说,
begin @user = User.find(params[:id]) rescue ActiveRecord::RecordNotFound flash[:notice] = "#No such record in User for id :: {params[:id]} on #{action_name}" end UPDATE flash[:notice] = t('flash.recordnotfound',:class_name => self.class.name,:column_name => params[:id],:action_name => action_name) 现在在你的config / locales / en.yml中(这有助于翻译,请参阅i18n here) flash: recordnotfound: "Sorry,no record od %{column_name} in class %{class_name} was found on you action %{action_name}" 如果您不想使用区域设置,只需将此信息放在flash [:notice]中. 更有活力? 写一个函数并在那里使用相同的flash [:notice].不要伤害. 想要更多数据? 这是一个快速的解决方案,我总是<%= params%>在我的观点中,我们很容易知道最新情况以及最新消息.然后,您可以打开rails控制台并播放不同的操作等. user = User.new user.save user.errors.messages 我认为所有这些都是足够好的数据. 祝好运. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |