其他父控制器 Rails 3.1 内的控制器的自定义验证错误

2024-01-11

我的 Rails 应用程序中有一个 House 模型,它有很多交易。我正在房子的展示页面上显示这些优惠。当我提交表单时,如果使用redirect_to,一切正常;但是,如果交易模型存在验证错误,那么我的系统将无法正常工作。交易模型是否存在验证错误。

In my 路线.rb I have

resources :houses do
 resources :deals
end

In 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

With 重定向到工作正常,但当验证表单模型失败时,我无法自定义错误消息。

当 @deal.save 失败时我检查了这个方法:

render :template => 'houses/show'

这个方法我见过当模型验证失败时,Rails 中的注释控制器在哪里呈现? https://stackoverflow.com/questions/5175385/where-to-render-comments-controller-in-rails-on-model-validations-failure

我只是想渲染房子的但不适合我,因为表格有一个动作:

/房屋/房屋名称/交易

并且不重定向到/房屋/房屋名称/

在我的动作表演中,如何从内部控制器的表单交易(子)中获取错误验证?


我也有同样的问题。我认为这是重复的当模型验证失败时,Rails 中的注释控制器在哪里呈现? https://stackoverflow.com/questions/5175385/where-to-render-comments-controller-in-rails-on-model-validations-failure- 我在那里添加我自己的回复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

其他父控制器 Rails 3.1 内的控制器的自定义验证错误 的相关文章

  • 设计 + 主动管理重定向

    我在为我的应用程序设置重定向时遇到问题 用户应该转到他们的个人资料 用户 节目 管理员应该转到管理仪表板 我该如何设置 目前出现以下错误 NameError in ActiveAdmin Devise SessionsController
  • 反转博客条目和评论的显示顺序,Ruby on Rails

    我是 Rails 新手 所以可以在这里使用一些帮助 我已经按照几个教程创建了一个博客 其中包含评论 甚至还有一些 AJAX 花哨的内容 但我仍然坚持一些我希望很简单的事情 博客和评论的默认显示是首先列出最旧的 我如何反转它以在顶部显示最新条
  • 如何在 Spring Boot 中从 RESTful 控制器返回 HTML 页面?

    我想从控制器返回一个简单的 HTML 页面 但我只得到文件的名称而不是其内容 为什么 这是我的控制器代码 RestController public class HomeController RequestMapping public St
  • Rails 资源未更新

    我有一个 Rails 3 1 应用程序 由于某种原因 当我更改 CSS 时 更改不会显示 我做到了bundle exec rake assets precompile它曾经有帮助 但现在无论如何我都坚持使用旧的CSS 由于您的资产现已预编译
  • 使用 Joda Time 进行 Grails 控制器单元测试

    当我有一个带有 Joda LocalDateTime 字段的域对象时 一些生成所有创建的控制器测试失败 grails create app bugdemo cd bugdemo grails create domain class Item
  • 在进行 Rails asset:precompile 时如何运行一些初始化程序?

    背景 我有一个应用程序 最近更新到了 Rails 3 2 1 从 Rails 3 0 x 并重构了 JS 和 CSS 资源以利用新的资源管道 该应用程序托管在具有 Celadon Cedar 堆栈的 Heroku 上 应用程序配置 我将应用
  • Ruby 模型的数组属性

    是否可以为数组类创建一个属性 我尝试阅读this https stackoverflow com questions 3438827 ruby model with an array as an attribute但我并没有从中得到太多 我
  • 如何从控制器运行 symfony 2 run 命令

    我想知道我怎样才能跑交响乐2来自浏览器查询或控制器的命令 这是因为我没有任何可能托管来运行它 并且每个 cron 作业都是由管理员设置的 我什至没有启用exec 因此 当我想测试它时 我必须将命令中的所有内容复制到某个测试控制器 这不是最佳
  • 可安装发动机安装在什么路径上

    我需要从可安装引擎的布局内部知道它当前安装在什么路径上 该怎么做呢 例如 我的routes rb 包含以下行 mount BackendCore Engine gt backend 从 BackendCore 内部 我需要访问 backen
  • 在轨道上使用回形针宝石红宝石的视图中从不同视图访问图像

    我是 Ruby on Rails 的新手 正在学习它 我想在另一个视图中访问由回形针 gem 存储的图像的表 例如在我的应用程序中 我有原因控制器 我可以通过以下代码访问存储在表中的视图原因中的图像 image tag cause imag
  • 如何在特定时区(最好是我的应用程序的默认时区,而不是 UTC)创建新的 DateTime 对象?

    我已将时区设置为 config application rb 并且我希望默认情况下在我的应用程序中生成的所有时间都位于该时区 但是当我创建新的DateTime对象 使用 new 它创建它GMT 如何让它位于我的应用程序的时区 配置 应用程序
  • Laravel 将数据传递给路由

    我是 Laravel 5 的新手 我需要一些帮助 因为我无法解决我的简单问题 我有一个数据列表http sample com partners http sample com partners如果我单击数据链接 我希望将其重定向到 http
  • ruby on Rails 3.1 将 .swf 移动到资产管道?

    是否可以将 SWF 文件移动到资源管道中 如果可以 如何做到这一点 我建议将它们放在一个名为的文件夹中app assets flash 将此文件夹添加到您的资源路径中 config assets paths lt lt Rails root
  • ASP.NET MVC OutputCache 不适用于根 URI

    我正在学习 ASP NET MVC 并被一个问题困扰 在HomeController中 Index操作具有OutputCache属性 但它似乎不起作用 HandleError public class HomeController Cont
  • 使用带有部分模板文件的 i18n gem 时出现问题

    我正在使用 Ruby on Rails 3 1 我想知道如何正确处理与部分模板文件相关的国际化 那是 在我的app views users flag html erb我有的文件 在我的app views users flag form ht
  • simple_forms 自定义数据属性

    我想在 simple form 生成的输入标签上有一个附加的数据属性 以下不起作用 这怎么可能做到呢 有可能吗 正如您可能已经猜到的 我正在尝试将 bootstrap datepicker 添加到我的网站 而不使用显式 js 来初始化日期选
  • Rails 3.1 资源预编译 - 包含所有 javascript 文件

    我希望 Rails 3 1 能够获取更多我的资源进行预编译 特别是 编译文件的默认匹配器不会添加 js文件来自vendor assets javascripts 我可以将资产添加到config assets precompile列表 但这似
  • 如何将 Devise 的“超时”模块添加到现有的 Devise 安装中? - 轨道 3.1

    这些是将模块添加到现有 Devise 安装的说明 https github com plataformatec devise wiki How To change an already existing table to add devis
  • @RestController 没有 @ResponseBody 方法工作不正确

    我有以下控制器 RestController RequestMapping value base url public class MyController RequestMapping value child url method Req
  • 来自控制器的 Rails 验证

    有一个联系页面 可以输入姓名 电话 电子邮件和消息 然后发送到管理员的电子邮件 没有理由将消息存储在数据库中 问题 如何 在控制器中使用 Rails 验证 根本不使用模型 或者 在模型中使用验证 但没有任何数据库关系 UPD Model c

随机推荐