设置Rails的默认值选择辅助块

时间:2016-06-28 13:41:44

标签: ruby-on-rails ruby-on-rails-4

如何在Rails select helper block中设置默认值?

<div class="field">
  <label>Gender</label>
  <%= f.select :gender, [], { prompt: 'Select gender', selected: 'Female' }, { :class => 'ui selection dropdown' } do %>
    <% Subject.genders.keys.each do |c| %>
      <%= content_tag(:option, value: c, class: 'item') do %>
        <%= content_tag(:i, '', class: "#{c.downcase} icon") %>
        <%= content_tag(:span, c) %>
      <% end %>
    <% end %>
  <% end %>
</div>

我尝试使用:selected选项设置它,但它不起作用。

1 个答案:

答案 0 :(得分:1)

我不认为f.select是否存在选择。

您可以使用options_for_select(values, value_selected)

建议: 您可以创建名为app / helpers / select_helper.rb的文件。在此文件中,您可以创建如下函数:

def subject_genders_values
  Subject.genders.each do |c|
    [c.value, c.value]
  end
end

您的函数subject_genders_values可以重复使用。每次如果你想要一个选择框,你可以在这个文件中创建你的功能。 注意:添加

include SelectHelper

在application_helper.rb

您的观点:

<%= f.select :gender,options_for_select(subject_genders_values, 'Female') %>

如果选项是列表的一部分,则会选择选项。