【发布时间】:2014-08-04 11:19:37
【问题描述】:
有很多关于这个的帖子......我很确定我的语法是正确的,但出于某种原因
:select => "some value or text" 对我不起作用。
这是我的表格:
=form_for(@pet) do |f|
=f.label :name
=f.text_field :name, :placeholder => 'enter pet name...'
%p
=f.label :species
=f.text_field :species, :placeholder => 'enter species name...'
%p
=f.label :color
=f.text_field :color, :placeholder => 'enter color of pet...'
%p
=f.label :pet_store_id
= f.collection_select(:pet_store_id, PetStore.all, :id, :name, {:selected => "Moe's Mammals"})
= f.select(:pet_store_id, PetStore.all.map {|p| [p.name,p.id]}, :selected => "Moe's Mammals")
%p
=f.submit
查看最后一个...它将列出我所有的 PetStore 名称,这是我想要的,但它始终默认为该列表中的第一个名称...。即使“Moe's Mammals”是下拉列表中的另一家宠物店。
第二个 f.select 只是语法不同的同一件事......但它也不起作用。即使 :prompt => "whatever" 也能正常工作。它让我相信 :selected 对 ruby 没有任何意义
【问题讨论】:
-
尝试使用 id 而不是 :selected 的名称?
标签: ruby-on-rails ruby select drop-down-menu collection-select