【问题标题】:Reform Rails - Validation - Wrong Number Arguments改革 Rails - 验证 - 错误的数字参数
【发布时间】:2021-03-25 10:09:29
【问题描述】:

我第一次尝试使用reform-rails gem 进行改革。我正在尝试将其用作表单对象,进行一些验证,然后将其保存到数据库中。当我尝试指定验证时,即使我尝试其自己的示例之一,它也会给出错误。

宝石文件:

gem 'reform'
gem 'reform-rails'
gem 'dry-validation'

config/initializerrs/reform.rb

require 'reform/form/dry'

Reform::Form.class_eval do
  feature Reform::Form::Dry
end

Rails.application.config.reform.validations = :dry

app/forms/album_form.rb:

class AlbumForm < Reform::Form
  feature Reform::Form::Dry

  property :name

  validation do
    required(:name).filled
  end

  property :artist do
    property :name

    validation do
      required(:name).filled
    end
  end
end

命令行:

AlbumForm.new(Album.new)
Traceback (most recent call last):
        3: from (irb):1:in `<main>'
        2: from app/forms/album_form.rb:1:in `<main>'
        1: from app/forms/album_form.rb:6:in `<class:AlbumForm>'
ArgumentError (wrong number of arguments (given 1, expected 0))

第 6 行是validation do。我错过了什么吗?

【问题讨论】:

  • 语法正确吗?我认为你不需要在validation do .. end 内用params { ... } 包装它。
  • @SampatBadhe 好问题.. 我以为我从文档中复制了它...但看起来不同...打算替换它并查看。
  • @SampatBadhe问题仍然存在,实际上是一个支持问题,因为我使用的是 Ruby 3。

标签: ruby-on-rails ruby-on-rails-6 trailblazer reform


【解决方案1】:

截至今天,Reform(和 Reform Rails)不支持 Ruby 3。该更新似乎即将发布。除一项测试外,所有测试均通过。失败的测试似乎与 Representable gem 有关。

这是来自 Trailblazer - Reform thread at the Zulip Chat 的 Yogesh Khater 所说的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多