未定义方法 merge_wrapper_options

2024-01-08

我正在尝试使用简单表单的虚假输入,如此处记录的:https://github.com/plataformatec/simple_form/wiki/Create-a-fake-input-that-does-NOT-read-attributes https://github.com/plataformatec/simple_form/wiki/Create-a-fake-input-that-does-NOT-read-attributes.

f.input :address, as: :fake

但是,我收到错误“# 的未定义方法‘merge_wrapper_options’”。即使重新启动 Rails 服务器后,我也会收到此错误。

请帮我解决这个问题。

Thanks.


Summary

实例方法merge_wrapper_options定义在SimpleForm::Inputs::Base类,但直到版本 3.1.0.rc1 为止。

这里是3.0.2版本的相关源码(没有merge_wrapper_options):

https://github.com/plataformatec/simple_form/blob/v3.0.2/lib/simple_form/inputs/base.rb https://github.com/plataformatec/simple_form/blob/v3.0.2/lib/simple_form/inputs/base.rb

将此与版本 3.1.0.rc1 进行对比:

https://github.com/plataformatec/simple_form/blob/v3.1.0.rc1/lib/simple_form/inputs/base.rb https://github.com/plataformatec/simple_form/blob/v3.1.0.rc1/lib/simple_form/inputs/base.rb

因此,如果您使用的是 v3.0.2 或更早版本,则不会拥有它。但是,没什么大不了的,只需自己定义方法即可:

Code

/app/inputs/fake_string_input.rb

class FakeStringInput < SimpleForm::Inputs::StringInput

  # Creates a basic input without reading any value from object
  def input(wrapper_options = nil)
    merged_input_options = merge_wrapper_options(input_html_options, wrapper_options)
    template.text_field_tag(attribute_name, nil, merged_input_options)
  end # method

  def merge_wrapper_options(options, wrapper_options)
    if wrapper_options
      options.merge(wrapper_options) do |_, oldval, newval|
        if Array === oldval
          oldval + Array(newval)
        end
      end
    else
      options
    end
  end # method

end # class

/app/views/some_form.html.haml

= f.input :some_parameter,
  label:      false,
  as:         :fake_string,
  input_html: { value: 'some-value' }

POST 请求将包含:

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

未定义方法 merge_wrapper_options 的相关文章

随机推荐

  • mysql 查询中区分大小写的表名

    我有 php 代码 其中数据库表名称的首字母在每个地方都是大写字母 但数据库中的表名称是小写的 我应该使用什么全局设置 以便无需更改每个代码文件来使表名的大小写与数据库中的大小写相同 Linux 上的 MySQL 元数据默认区分大小写 也就
  • 启用 @KafkaListener 从 application.yml 文件中获取变量主题名称

    我正在尝试将多个主题加载到一个主题中 KafkaListener但我遇到了麻烦 因为我相信它正在寻找一个恒定值 但正在初始化topics变量来自application yml文件导致出现问题 我想知道是否有人可以帮助我解决这个问题 或者为我
  • 从 .json 文件创建 kubernetes 机密

    我有一个 json 文件 其中包含一些像这样的键 a someval b someval more keys 如何将这些密钥添加到 kubernetes 中的秘密中 当我尝试时 kubectl create secret generic m
  • 为什么 pathlib.Path("C:") 解析为 Windows 上的工作目录?

    在 Windows 7 x64 上使用 Python 3 6 路径 C 看起来与空路径相同Path resolve 空 路径是 当前工作目录 cwd gt gt gt from pathlib import Path gt gt gt Pa
  • 关于二元谓词 Compare

    我的参考是二元谓词Compare comp预计在超载std 下界 https en cppreference com w cpp algorithm lower bound etc 描述如下 谓词函数的签名应该等于 下列的 bool pre
  • 在电脑上将fabricjs画布另存为图像

    我想通过单击 html 页面中的按钮将 Fabric 画布保存为 PC 上的图像 jpg 或 png 相同 我尝试了一个解决方案但不起作用 function saveF canvF var imageCanv canvF toDataURL
  • 如何在 struts2 文本字段标记中放置占位符?

    我正在使用 struts2 标签并想在 a 中放置一个占位符
  • iOS 10.3 中的替代图标

    我有关于如何在 iOS 10 3 中设置备用图标的信息 在 Info plist 中添加密钥 然而 我不确定每个替代方案需要哪些尺寸 我现在使用资源文件夹 并且必须放入大约 12 个不同大小的图标用于聚光灯 不同的 iphone 和 ipa
  • Google Analytics(分析)目标需要多长时间才能开始显示一些数据?

    我正在测试 Google Analytics 目标 但我不确定是否已正确设置它 我设定了一个基本的三步目标作为测试 然后我访问我的网站并执行这三个步骤 应该立即显示在 Google Analytics 的目标报告下还是需要几天时间 我需要知
  • 是否有调试 jQuery 事件处理程序的工具/技术?

    我目前正在尝试找出附加到我的 div 的单击事件处理程序 应该只连接一个处理程序 但似乎至少有一个 我正在使用 FireBug 但 Chrome 也可以是一个选择 我不喜欢 IE 所以我不想使用它 最好的情况是我可以使用 FireBug 检
  • 在 iOS UIWebView 中评估 JavaScript 时出现“SyntaxError: Unexpected EOF”

    当尝试将一些 JSON 传递给 a 时 我在 JavaScript 中不断收到此错误UIWebView 语法错误 意外的 EOF 没有可用的行号或文件名window onerror但我已经检查了所有引用的文件 它们都很好 我正在使用 Mon
  • 多重转变

    昨天我解决了有关 jquery 的问题 它无法正确加载 今天 我又遇到了另一个问题 一个元素的两次转换 第一个过渡在页面加载后开始 它淡入 当我不使用第二个过渡时 这个过渡实际上可以工作 每当有人将鼠标悬停在ul 问题在于悬停过渡 覆盖 淡
  • 函数指针(指向其他内核)作为 CUDA 中的内核 arg

    通过 CUDA 中的动态并行性 您可以从某个版本开始在 GPU 端启动内核 我有一个包装函数 它接受一个指向我想要使用的内核的指针 它要么在较旧设备的 CPU 上执行此操作 要么在较新设备的 GPU 上执行此操作 对于后备路径来说没问题 但
  • 使用 sed,如何匹配字符类中的方括号?

    这是原始数据的一部分 00000000 54 6f 70 69 63 20 46 6f 72 75 6d 20 52 65 70 6c Topic Forum Repl 00000010 69 65 73 20 4c 61 73 74 20
  • 如何在 Jenkins 中设置“资源根 URL”

    我们正在设置一个新的 Jenkins 实例 并发现 资源根 URL 默认为空 我已经阅读了有关此内容的 Jenkins 文档和 少数 stackoverflow 响应 但我仍然不清楚如何填写此字段 在我们的示例中 我们使用具有专用外部 IP
  • CakePHP错误数据库未定义

    我在每个问题中都搜索了这个问题的答案 但没有找到 这是我输入 localhost cakephp 时出现的错误 Notice 8 Undefined index datasource CORE Cake Model ConnectionMa
  • Django 管理模板覆盖在生产环境中不起作用

    Like 这个问题 https stackoverflow com questions 11793890 custom django admin templates not working 我的管理员覆盖在我的生产环境中不起作用 但它们在我
  • 在 SPARK 2.2.0 中如何将外部表转换为托管表?

    以下命令已成功将外部表转换为托管表Spark 2 0 0 ALTER TABLE table name SET TBLPROPERTIES EXTERNAL FLASE 但是上面的命令失败了Spark 2 2 0出现以下错误 查询错误 无法
  • 将 std::function 转换为 std::function

    首先 我定义两个类 它们相互继承 class A class B public A 然后 我声明一个使用std function
  • 未定义方法 merge_wrapper_options

    我正在尝试使用简单表单的虚假输入 如此处记录的 https github com plataformatec simple form wiki Create a fake input that does NOT read attribute