ruby on rails select下拉框的使用,包括实现下拉框内容匹配搜索

来源:互联网 发布:h3c 查看当前端口配置 编辑:程序博客网 时间:2024/06/06 00:56
  •  select下拉框显示固定内容 select下拉框 枚举法

    例如在student表单中,在拉框中显示性别“男”,“女”:
    html代码:
    <div class="field">  <%= f.label :性别 %><br>  <%= f.select :sex, Student.sexes.keys %></div>
    在这个模型的student.rb中:
    enum sex: {  "女" => 0,  "男" => 1}validates :sex, inclusion: sexes.keys 
  • <!-- 更多写法 --><div class="public_form">  <label class="label">是否完成合同:</label>  <%= f.select :state_contract, [["是",1],["否",2]],html: { class: "public_select" }%></div>
  • select下拉框内容为从数据库班级clazz表中查的数据
    将数据库中clazz表中的班级名称显示在下拉框中,从数据库查clazz_name和id,clazz_name用来显示,id用来传递给clazz_id,form表单提交:
    html代码(复制时候将换行去掉),加try异常处理:
    <div class="field">  <%= f.label :班级 %><br>  <%= f.select :clazz_id,options_for_select(Clazz.all.map{|f| [f.clazz_name, f.id]},    [@student.try(:clazz).try(:clazz_name), @student.try(:clazz).try(:id)]) %></div>
  • <!-- 更多写法 -->
    <label class="">班级:</label>

    <%= f.select :clazz_id_eq, Clazz.select(:clazz_name, :id).distinct.collect {|p| [ p.clazz_name, p.id ]}.insert(0,'') %>
  • <!-- 更多写法 -->
    <div class="public_form">
     <label class="label"><span>*</span>项目状态:</label>
      <%= f.select :kind, Project::KIND.to_a.map(&:reverse), { :include_blank => false }, html: { class: "public_select" } %>
      <span class="validate-option"></span>
    </div>
    <!-- 在project.rb中添加如下代码 -->
    KIND = {'ZX' => '执行', 'YF' => '研发', 'YW' => '运维', 'XS' => '销售', 'RC' => '日常','GB' => '关闭'}
select下拉框中匹配搜索:http://blog.csdn.net/u013601033/article/details/77248480

阅读全文
0 0