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

标签 ruby forms ruby-on-rails-4 radio-button collection-select

我正在尝试使用助手 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 中吗?

编辑

因此,经过更多研究并尝试将其拼凑在一起后,我现在可以渲染图像和单选按钮,但该图像是我使用载波上传的默认图像,而不是我想要的调整大小的 :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>

谢谢

最佳答案

有个好reference关于你想做什么。尝试类似的东西:

f.collection_radio_buttons(:default_image_id, DefaultImage.all, :id, :image) do |b|
  b.label { b.radio_button + image_tag(b.object.image) }
end

关于ruby - 在 Rails 4 中使用图像作为单选按钮标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24580256/

相关文章:

ruby-on-rails - Rails CSV 生成器 - 2019 年 6 月 17 日星期一的未定义方法 `collect' 14 :16:10 CEST +02:00:Time in

javascript - 指定某些页面中特定表单的验证

ruby-on-rails - Rails 4.0 运行时错误 : @controller is nil: make sure you set it in your test's setup method

javascript - 我可以从其他页面加载表单吗?

ruby-on-rails - Ruby on Rails 中的种子文件错误

ruby - define_method 不返回任何结果

ruby-on-rails - 在 Rails 4 中进行验证之前保存参数中的数据

jQuery 1.7 .on() 和动态表单捕获

html - 如何对齐表单内的 SVG 按钮

ruby-on-rails - Rails 方法在用作参数时被称为符号?