【问题标题】:Errors on non model fields in railsrails 中非模型字段的错误
【发布时间】:2009-03-02 01:50:11
【问题描述】:

报告与 Rails 中的特定模型无关的表单字段错误的最佳方法是什么?例如,我有一个用于批量创建具有随机用户/密码的用户帐户的表单。它以要创建的用户数量、有关所有用户应具有的属性的信息以及存储在与创建的用户关联的 user_batches 模型中的批次信息作为输入。

理想情况下,应该有一些类似errors_on 的方式来列出来自数量字段的错误,该字段与没有模型相关联,用户信息字段,与创建的用户记录相关联,以及 user_batches 模型的代码最少.

这也适用于不通过 AR 验证运行的搜索表单等。有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails validation


    【解决方案1】:

    您可以像这样将自己的错误手动添加到模型对象中。

    @user_batch.errors.add_to_base("Foo")
    

    【讨论】:

    • 谢谢!但是,如果没有特定的实例可以添加它,你会怎么做。就像具有多个选项的搜索表单一样,由于无效查询而没有返回任何对象?或者对于只显示复杂 SQL 查找结果的报告,不返回任何对象,只返回原始数据?
    • 一种方法是保留要显示的错误的简单数组,这些错误会在控制器操作过程中累积。然后在渲染之前将其转换为 Flash 消息。
    • 感谢 JDL,这实际上是我希望避免的,但看起来这就是我现在要做的。我喜欢errors_on 如此明确地与表单相关联,而flash 消息更与页面相关联。
    • 嗯,你可以避免使用 ActiveRecord::BaseWithoutTable 插件的泛型数组。设置的工作量更大,但随后您会得到一个行为类似于常规 ActiveRecord 对象的对象。 agilewebdevelopment.com/plugins/activerecord_base_without_table
    猜你喜欢
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多