【问题标题】:Select options with new lines issue选择带有新行问题的选项
【发布时间】:2018-12-18 15:14:55
【问题描述】:

我有以下 rails 代码(它使用简单的形式):

<%= f.input :color, collection: custom_colors.split(/\n/).reject(&:empty?) %>

custom_colors 来自一个文本区域,要求用户输入由新行分隔的条目。

问题:这显示正确,但是,当用户进行编辑时,颜色未保存并且选择为空。我使用的是典型的 rails 脚手架。

问题(续):我认为这不起作用的原因是,保存时,颜色看起来像 blue\r\n。但是,当我这样做时:

<%= field.options.split(/\n/).reject(&:empty?) %>返回blue\r,表示输入不匹配,因为blue\r\n明显不等于blue\r

我该如何解决这个问题?

【问题讨论】:

  • 发布 rails 堆栈跟踪
  • @Nithin,需要明确的是,这不会产生错误,只是在用户进行编辑时没有选择正确的下拉选项。我可以发布Thread.current.backtrace 的结果,但看起来很正常。
  • 你的意思是,保存正常吗?
  • @Nithin,是的,保存正常。实际上,现在您这么说,我想我已经找到了问题,但是,我不确定如何解决。保存时,颜色保存为:blue\\r\\n,导致它与简单形式的数组不匹配。如果没有退货,我将如何保存它?
  • @Nithin,抱歉,它实际上是在保存 blue\r\n 而不是我之前发布的内容。但我相信同样的问题。

标签: html ruby-on-rails ruby select


【解决方案1】:

在你的表单中试试这个。

<%= f.input :color, collection: custom_colors.split(/\n/).map(&:strip).reject(&:empty?) %>

【讨论】:

    猜你喜欢
    • 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
    相关资源
    最近更新 更多