【问题标题】:Re-populating dropdown menu with database value (rails)使用数据库值(rails)重新填充下拉菜单
【发布时间】:2013-08-12 16:42:06
【问题描述】:

当转到表单的“编辑”视图时,将值先前发布到数据库中,除下拉菜单字段外,所有字段都将重新填充。例如,“惊讶”值现在在数据库中。当我打开编辑页面时,我只看到默认的“选择选项...”

这是我的表单中的内容:

<%= f.select :emotion, options_for_select([["Happy", "Happy"], ["Afraid", "Afraid"], ["Sad", "Sad"], ["Surprised", "Surprised"], ["Inspired", "Inspired"]]), :include_blank => 'Select Option...' %>

如何让它重新填充?

【问题讨论】:

  • 如果去掉options_for_select方法会怎样?只留下二维数组
  • 那没用,同样的结果...

标签: ruby-on-rails ruby drop-down-menu edit populate


【解决方案1】:

用途:

options_for_select([["Happy", "Happy"], ["Afraid", "Afraid"], ["Sad", "Sad"], ["Surprised", "Surprised"], ["Inspired", "Inspired"]], <selected_value>)

【讨论】:

  • 您能提供更多信息吗?我试过这个,几乎复制并粘贴它,减去尖括号。我收到此错误:未定义的局部变量或方法 `selected_value'。
  • 请注意,我在 Rails 中编码。
  • 而不是 您需要传递要选择的值。一般来说,这将类似于:my_model.emotion,其中 my_model 是您放在 form_for 旁边的位。
【解决方案2】:

刚刚想通了!将 :include_blank 的值更改为数据库中的实际变量。

<%= f.select :emotion, ([["Happy", "Happy"], ["Afraid", "Afraid"], ["Sad", "Sad"], ["Surprised", "Surprised"], ["Inspired", "Inspired"]]), :include_blank => @table_name.emotion %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 2015-08-04
    • 2011-11-12
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多