Ruby on rails 模型的Rails 3.x下拉列表

Ruby on rails 模型的Rails 3.x下拉列表,ruby-on-rails,ruby,Ruby On Rails,Ruby,因此,我正在运行rails 3.1.0.rc6,很难理解模型的下拉列表(选择元素) 我有以下资料: <%= form_for @user do |f| %> <div class="input"> <%= f.label :email %> <%= f.text_field :email %> </div> <div class="input">

因此,我正在运行rails 3.1.0.rc6,很难理解模型的下拉列表(选择元素)

我有以下资料:

<%= form_for @user do |f| %>
      <div class="input">
        <%= f.label :email %>
        <%= f.text_field :email %>
      </div>

      <div class="input">
        <%= f.label :password %>
        <%= f.password_field :password %>
      </div>

      <div class="input">
        <%= f.label :password_confirmation, "Repeat Password" %>
        <%= f.password_field :password_confirmation %>
      </div>

      <div class="input">
        <%= f.label :first_name %>
        <%= f.password_field :first_name %>
      </div>

      <div class="input">
        <%= f.label :last_name %>
        <%= f.password_field :last_name %>
      </div>

      <div class="input">
        <%= f.label :birthday %>
        <%= date_select "user", "birthday" %>
      </div>

      <div class="input">
        <%= f.label :gender %>
        <%= select_tag :gender, options_for_select([['Male', 'male'], ['Female', 'female']]) %>
      </div>

      <div class="submit">
        <%= f.submit nil, :class => ['button', 'button_blue'] %>
      </div>
    <% end %>

['按钮','按钮\蓝色']%>
现在我不明白如何有一个易于使用的生日选择和性别选择。它生成的HTML与模型保存一起使用并不十分友好

任何帮助都会很好!谢谢


目标:只需使用发布的数据进行简单的用户创建。

您可以直接在“f”变量之外使用select form builder帮助程序

f.select( :gender, options_for_select([["Male", "male"],["Female","female"]]))

这将确保select的名称和id的生成方式使您的create自动获取。

强烈建议您使用简单表单(基于formtastic)。它每天被成千上万的开发人员使用,有45个分叉等,是我工作的大多数组织的标准。你永远不会回头看它是如此简单(但灵活)。由Jose Valim撰写,他在rails上著书,是社区的领导者之一

https://github.com/plataformatec/simple_form
小摘录(用于解决有关模型下拉列表(选择元素)的特定问题:-

现在我们有了用户表单:
足够简单吧?这将为选择:公司呈现一个:选择输入,为:角色呈现另一个:使用:多选项选择输入。当然,您可以将其更改为使用收音机和复选框:
f、 协会:公司:as=>:无线电
f、 关联:角色,:as=>:复选框


您仍然可以使用date_calendar gem作为一个不错的日历弹出式日期选择器,这也可能有助于您选择日期,您可以使用jquery datepicker,它使用起来非常友好

首先,如果您这样编写表单字段

<div class="field">
    <%= f.label :birthday %><br />
    <%= f.text_field :birthday %>
</div>

谢谢,我会看一看的!不过现在,我可能只使用f.select作为我的解决方案。这很好,但人们习惯于使用下拉列表来表示生日之类的内容,我想说的是。时间太晚了,人们不想使用这样的选择器。
<div class="field">
    <%= f.label :birthday %><br />
    <%= f.text_field :birthday %>
</div>
$(document).ready(function() {

    $.datepicker.setDefaults({
        dateFormat: 'dd/mm/yy',
        firstDay: 1,
        showOn: 'focus'
    }); 

    $('#user_birthday').datepicker();

});