【问题标题】:Rails custom model validator depending on check_box valueRails 自定义模型验证器取决于 check_box 值
【发布时间】:2021-07-11 10:31:00
【问题描述】:

假设我有一个带有 :title 和 :body 的模型“博客”。 还可以说,在我看来,我输入了标题、正文和一个看起来像这样的 check_box_tag

<%= check_box_tag "published" %>

现在,我想为 :body 编写一个自定义验证,该验证只有在我的复选框“已发布”被选中时才会运行。

问题是 - 我如何获得 ckeckbox 的值,因为 :published 不是模型属性

【问题讨论】:

    标签: ruby-on-rails validation checkbox model


    【解决方案1】:

    你不能。你也不应该。

    验证确保模型实例上下文中的业务逻辑。不是请求。如果您想为验证提供任何其他上下文,则必须将其传递给模型 - 并且该数据必须保存在某个地方,直到执行验证回调 - 在属性中。这并不一定意味着它必须是数据库列。

    如果您确实想在控制器中获取参数,可以根据输入的名称属性在参数哈希中找到它们。

    params[:published]
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    • 2015-08-30
    • 2012-01-29
    • 2012-03-13
    相关资源
    最近更新 更多