这是一个愚蠢的问题,因为我确实有解决此问题的方法,但我想知道是否有更好的方法可以解决此问题。我注意到Rails有许多神奇的方法来做,而“刚刚有用” .....所以我想知道是否有更好的Rails方法来做到这一点
在options_for_select
表单帮助器中,如果数据库中已经存在一个值,我想选择一个值,否则为空白。
以下内容均为空白,无论是否存在:
<%= ff.select :image_file_id, options_for_select(@image_files.map { |image| [image.id, {'data-img-src'=>image.image_file_url(:thumb)}]}), {:include_blank => 'Choose None'}, class: "image-picker" %>
它的默认值是数据库中存在的值,但是如果数据库中不存在任何值,它将显示数据库中的第一个值:
<%= ff.select :image_file_id, options_for_select(@image_files.map { |image| [image.id, {'data-img-src'=>image.image_file_url(:thumb)}]}, ff.object.image_file_id), {:include_blank => 'Choose None'}, class: "image-picker" %>
我阅读了提示后会做我想要的事情,如果记录不存在,则显示空白,如果值存在,则显示值,但是如果我尝试过的任何方式都不起作用。
除了执行if
和else
语句外,是否还有办法在一条Rails魔术线上做到这一点?
答案 0 :(得分:0)
include_blank: @image_files.empty? ? 'Choose None' : nil
实际上它也是if
else