0

让这个选择下拉输入字段填充状态名称。

如果这不是零,我想将所选值设置为 @state.id 的内容。如果已经有一个选择的选项,那么我希望选择它。

如何正确地做到这一点?我尝试了几种解决方案,但都失败了,我现在使用的最新代码示例:

    = p.input :state,
              :collection => ["State1","State2"]
              :selected => (@state.id.to_s rescue nil) || (params[:state] rescue nil),
              :id => "state",
              :name => "state",
              :prompt => t('forms.choose')
4

1 回答 1

0

问题是 :selected 选项基于两个值工作。

  1. 集合数组中元素的索引,或
  2. 价值本身

因此,假设您希望选择最后一个选项,在您的情况下您需要:

:selected => 1

或者

:selected => "State2"

我希望它有所帮助。

于 2013-10-24T15:09:29.003 回答