ruby on rails下拉菜单选中

时间:2014-06-13 20:04:43

标签: ruby-on-rails ruby select drop-down-menu collection-select

有很多关于此的帖子......我非常确定我的语法是正确的,但出于某种原因

:select => "一些价值或文字"不适合我。

这是我的表格:

=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哺乳动物"是下拉列表中另一个宠物商店的确切名称。

第二个f.select在不同的语法中是相同的东西......但它也不起作用。即使:prompt => "无论"会很好的。这让我相信:选择并不意味着任何东西可以用来反对

1 个答案:

答案 0 :(得分:0)

您只需使用所选的ID。

 = f.select(:pet_store_id, PetStore.all.map {|p| [p.name,p.id]}, :selected => desired_pet_store.id)