在 Rails 4 中使用图像作为单选按钮标签

2023-12-22

我正在尝试使用助手 collection_radio_buttons 将图像显示为标签,并希望将 image_id 保存到模型中,以便我可以检索 url,到目前为止,我已经想出了一个显示单选按钮和 image_url 的方法标签。

我已经注意到的是,我只能单击单选按钮一次,然后它就保持在打开状态:

<%= f.collection_radio_buttons(:default_image_id, DefaultImage.all, :id, :image) %>

生成的 html 看起来像这样:

<input id="campaign_default_image_id_1" name="campaign[default_image_id]" type="radio" value="1" />
<label for="campaign_default_image_id_1">https://calcuttatest.s3.amazonaws.com/uploads/default_image/image/1/vandals_portfolio.png</label>

我该如何正确设置?我可以将标签包装在 image_tag 中吗?

Edit

因此,经过更多研究并尝试将其拼凑在一起,我现在可以渲染图像和单选按钮,但该图像是我使用 Carrierwave 上传的默认图像,而不是我想要的调整大小的 :small 版本。我可以通过 :small 版本吗?

<%= f.collection_radio_buttons(:default_image_id, DefaultImage.all, :id, :image) do |b| %>
<%= b.label { image_tag("#{b.text}") + b.radio_button } %>

b.text 检索 url

https://calcuttatest.s3.amazonaws.com/uploads/default_image/image/2/ymca_portfolio.png

但我希望它在文件名前加上 fancy_box_array 前缀,如下所示:

https://calcuttatest.s3.amazonaws.com/uploads/default_image/image/2/fancy_box_array_ymca_portfolio.png

使用此新代码生成的 html 是:

<label for="campaign_default_image_id_1"><img alt="Vandals portfolio" src="https://calcuttatest.s3.amazonaws.com/uploads/default_image/image/1/vandals_portfolio.png" />
<input id="campaign_default_image_id_1" name="campaign[default_image_id]" type="radio" value="1" /></label>

thanks


有一个好的参考 http://apidock.com/rails/v4.0.2/ActionView/Helpers/FormOptionsHelper/collection_radio_buttons关于你正在尝试做的事情。尝试类似的方法:

f.collection_radio_buttons(:default_image_id, DefaultImage.all, :id, :image) do |b|
  b.label { b.radio_button + image_tag(b.object.image) }
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Rails 4 中使用图像作为单选按钮标签 的相关文章

  • Rails:验证字符串的最小和最大长度,但允许其为空白

    我有一个想要验证的字段 我希望该字段能够留空 但如果用户输入数据 我希望它采用某种格式 目前我在模型中使用以下验证 但这不允许用户将其留空 validates length of foo maximum gt 5 validates len
  • postgres 数组字段上的 ActiveAdmin 过滤器

    我在 ActiveAdmin 中添加了以下过滤器 filter roles as select collection Model ROLES multiple true 但是当我选择过滤器值来搜索角色时 它给了我以下错误 PG Invali
  • $ bundle exec rake db:reset 命令提升无法删除 db/development.sqlite3

    我试着跑 bundle exec rake db reset并在控制台上发现以下内容 Couldn t drop db development sqlite3
  • Rails 5 - 在 gem 上充当 Taggable - 简单表单集合选择已定义的标签列表

    我正在尝试学习如何将 Acts as Taggable On gem 与 Rails 5 一起使用 我使用简单的表格作为表格 我认为部分问题是由于提案和 randd fields 之间的模型没有关联而产生的 我有名为 Proposal 和
  • 载波无法删除图像

    我现在使用 Carrierwave 上传图像 一切都很好 除了一个 当我添加用于删除上传图像的复选框时 我收到错误 无法批量分配受保护的属性 remove image Form Model class Manufacturer lt Act
  • 动态分配背景图片scss/sass

    我想要做的是有一个表单 您可以在其中上传图片 然后当您查看该对象时 图片会在特定 div 中居中 垂直和水平向上倾斜 其大小未知等 除非有办法使用 image tag 帮助器将其垂直居中 否则我希望能够使用该图像作为背景图像 在我的 css
  • Ruby:使用默认值定义类级别哈希

    我有一个基本的红宝石课程 class LogEntry end 我想做的是能够用几个值定义一个哈希 如下所示 EntryType error gt 0 warning gt 1 info gt 2 这样我就可以访问这样的值 或类似的值 Lo
  • 未签出...捆绑安装无法修复帮助!

    https github com intridea omniauth git at master is not checked out Please run bundle install Bundler GitError 那我该怎么办 捆绑
  • Symfony 检查表单验证时两个字段中是否至少有一个不为空

    我已经在脑子里思考这个问题有一段时间了 但仍然无法找到解决我的问题的方法 使用 Symfony 4 表单和约束 我无法设置一项检查来表明在提交包含子表单的表单时至少两个字段之一不能为空 我有一个预订实体 其中包含一个具有电话号码属性和电子邮
  • 安装 Ruby 后,MAC OS X 上的活动开发人员路径无效

    我收到此错误 xcrun 错误 无效的活动开发人员路径 Applications Xcode app 缺少 xcrun Applications Xcode app usr bin xcrun This solution https sta
  • 有没有办法让 Ruby 临时文件永久存在?

    如果我通过创建了一个临时文件Tempfile 除了将其复制到另一个文件之外 还有什么方法可以使其 永久 吗 我想避免它在关联时被删除Tempfile实例被垃圾收集或进程被终止 在相关的一点上 有没有办法利用Tempfile机制 或使用类似的
  • 使用 google-drive-ruby gem 在 google 云端硬盘中创建文件夹

    我知道这里提出了类似的问题 但是我仍然无法完成这项工作 因为我的情况有点不同 我希望能够使用以下命令在谷歌驱动器中创建一个文件夹谷歌驱动器红宝石宝石 https github com gimite google drive ruby 根据谷
  • 使用 Devise 和 Rails 从 Twitter Oauth 获取电子邮件

    我已经设置了一个基本的 Rails 应用程序来使用 twitter oauth gem 和设计 并且已经能够登录用户 但是 我的问题是我现在已将我的应用程序列入白名单 并且我想在响应中收到用户的电子邮件 我已遵循 Twitter 端的所有必
  • 开始使用 Ruby、Watir 和 Ruby Mine?

    我想对电子商务网站进行自动化测试 我安装了 Ruby Watir Gems 和 Ruby Mine 虽然我尝试过 RubyMine 但我不知道如何开始编写一个简单的脚本 如何开始使用 RubyMine 编写简单的脚本 我创建了一个项目 你下
  • 为什么安装 Ruby 1.9.3 时会出现 404 错误?

    我最近擦除了我的计算机 操作系统 Mac OS X 10 6 8 并重新安装了所有开发工具 我再次安装了RVM 但是 它不允许我安装 Ruby 1 9 3 到目前为止我已经尝试过 rvm install 1 9 3 rvm install
  • Ruby 解释器出现段错误后,是否可以从 corefile 中获取 Ruby 回溯?

    Note 我使用了在使用 libxml ruby gem 时遇到的段错误来说明问题 但我已经用所述 gem 解决了我的问题 这个问题真正涉及的是从 gdb 使用 corefile 查看 Ruby 回溯 即解释器在 Ruby 代码无法处理异常
  • i18n:特定型号的错误消息本地化

    我可以为每个验证本地化错误消息 但如何为特定模型创建错误 普通的语言环境如下所示 en mongoid errors messages taken It is already taken 但我想更改消息user model en mongo
  • 在 Rails 中,我可以通过委托方法订购查询吗?

    我在通过委托方法订购查询时遇到困难 我的任务是帮助将一个相当大的 Rails 3 应用程序升级到 Rails 4 我在索引操作中遇到了这个查询 我知道这些对象的命名是可怕且令人困惑的 measurements controller rb d
  • Windows 窗体不会在调试模式下显示

    我最近升级到 VS 2012 我有一组在 VS 2010 中编码的 UI 测试 我试图在 VS 2012 中启动它们 我有一个 Windows 窗体 在开始时显示使用 AssemblyInitialize 属性运行测试 我使用此表单允许用户
  • Mountain Lion 的 RVM 问题

    我可以在运行 Mountain Lion 的 Mac 上安装任何 Ruby 版本 我已经确保 Brew Doctor 一切正常 当我运行 ie rvm intall 1 9 3 head 时 我得到以下信息 From git github

随机推荐

  • WPF 工具包 DatePicker 仅月/年

    我正在使用上述工具包的日期选择器 但我想将其限制为仅选择月份和年份 因为在这种情况下 用户不知道或不关心确切的日期 显然 数据存储在日期时间中格式将存储日期 但这与我无关 有没有一种简单的方法可以解决这个问题 Thanks 感谢 Ferna
  • 将 Rust 特征传递给 C

    我正在构建一个 Rust 库 需要使用 Rust 对象调用一些 C 函数 我有一个调用 C 函数的函数的特征 C 函数在 Rust 中定义如下 extern fn process trait my trait MyTrait 这个想法是 用
  • 在搜索对话框中添加新运算符

    作为过滤器运算符 您可以从以下选项中进行选择 等于 不等于 小于 小于或等于 大于 大于或等于 开始于 不开始于 在 不 在 结束于 不结束于 包含 和 不包含 我想在此列表中添加一个额外的运算符 有人能指出我实现这一目标的正确方向吗 该应
  • 如何在字符串内迭代循环搜索固定关键字后的任何单词?

    假设我有一个字符串 PHP Paddy PHP Pranav PHP Parth 现在我的计数为3 现在我应该如何在字符串中迭代循环 瞄准 PHP 之后的字符串以显示所有名称 好的 这是字符串 BEGIN IF NEW name OLD n
  • Zend Framework - 不为控制器设置布局

    我有一个控制器 我想使用 ajax 脚本来调用和设置会话变量 获取信息等 如何设置它 以便该特定控制器不使用默认布局 特别是无布局 以便它可以来回发送 XML JSON 消息 就像与 Zend Framework 和 Zend Applic
  • 关闭内存泄漏

    我对垃圾收集语言中内存泄漏的内存 不需要的引用 泄漏的可能性感兴趣 由存储在闭包中的变量引起 可能作为对象系统的一部分或作为基于稍后评估的输入的构建操作的一部分 是否有任何语言中这种情况比较常见 如果是这样 在这些语言中需要注意哪些模式来防
  • 如何在没有包的情况下真正获取类的名称?

    我的问题故意标题几乎一模一样this one https stackoverflow com questions 2690333 how to get the name of a class without the package 但我想要
  • 模板类的成员函数何时实例化?

    考虑以下示例 template
  • 无法导入 com.google.android.maps.MapActivity

    我试着导入 com google android maps MapActivity但我的程序无法识别它 我也有
  • 为什么没有 asio::ssl::iostream? (以及如何实施)

    我目前正在探索 Asio 库 并且拥有用于常规 TCP 连接的工作代码 我用了asio ip tcp iostream对象 因为我想要传输的东西已经可以序列化到 iostreams 从 iostreams 反序列化 所以这非常方便并且对我来
  • 如何创建具有多个使用相同参数类型的构造函数的类

    我正在尝试做这样的事情 public class Arquivo private File diretorio null public Arquivo File dir this diretorio dir public Arquivo S
  • 如何将参数从活动传递给服务?

    嘿 我正在从一项活动开始一项服务 我通过以下方式从活动中调用服务startService 但我希望我的活动中的一些变量在我在活动中调用的服务代码中使用 所以请告诉我该怎么做 有没有办法将参数从调用活动传递给服务 提前致谢 您可以添加一个Bu
  • LuaSocket socket/core.dll 需要的位置?

    当我使用 local socket require socket core 它工作正常 dll 位于 dir socket core dll 但是当我移动 dll 时说 dir folder core dll 并使用 local socke
  • Jquery 和 Ajax Post 问题

    我试图在通过 ajax 从服务器返回的元素上添加单击事件 显然 我必须在返回响应中附加我的 js 文件而不是我的主脚本 这是最佳实践吗 我是否必须创建单独的 js 文件才能在返回文本上添加事件 Example 我的 Jquery selec
  • 指定 http 请求/响应的区域设置

    我有一个 ReSTful Web 服务 需要解析请求中的区域设置敏感数据 该数据可以位于 XML 正文中 也可以是查询字符串的一部分 是否有任何可接受的方法来确定发送数据的区域设置 以及扩展应发送响应的区域设置 一种选择是简单地向客户端指定
  • Java 9 接口:为什么 default 修饰符转换为 public 修饰符

    我的问题是关于interface 我创建一个接口并定义四个方法 第一个方法是private方法 第二个是default方法 第三个是static方法 第四个是abstract method 编译此接口并检查其配置文件后 default方法被
  • 如何从 XSD 创建 pojo 类?

    我正在使用 Spring maven 插件 我想从特定文件夹中指定的 xml 模式创建 POJO 类 我尝试过xjc通过java代码命令 但它不生成该类 其次 我尝试过jaxb 但它处理的是xml文件不是xsd编组 解组时的架构 我认为这不
  • Node.js / Express / Mocha / Supertest Rest API - 空请求正文

    我已经尽我所能寻找解决方案 我唯一发现的是一个未回复的帖子 如果我忽略了某些事情 我深表歉意 问题是当我尝试获取POST中的值 createQuestionAPI 主体为空 未定义 我收到这样的错误Cannot read proprety
  • cookie“.AspNetCore.Identity.Application”已设置“SameSite=None”,并且还必须设置“Secure”

    我点击了这些链接 准备您的身份服务器 https www thinktecture com en identity samesite prepare your identityserver 如何删除 Samesies cookie http
  • 在 Rails 4 中使用图像作为单选按钮标签

    我正在尝试使用助手 collection radio buttons 将图像显示为标签 并希望将 image id 保存到模型中 以便我可以检索 url 到目前为止 我已经想出了一个显示单选按钮和 image url 的方法标签 我已经注意