首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Rails 3的下拉列表中安排Ancestry树中的条目?

在Rails 3中,要在下拉列表中安排Ancestry树中的条目,可以使用以下步骤:

  1. 首先,确保已经安装了Ancestry gem。在Gemfile中添加以下代码:
代码语言:txt
复制
gem 'ancestry'

然后运行bundle install

  1. 在模型中添加Ancestry字段。例如,如果您有一个名为Category的模型,请在app/models/category.rb中添加以下代码:
代码语言:ruby
复制
class Category< ActiveRecord::Base
  has_ancestry
end
  1. 创建一个辅助方法,用于生成下拉列表。在app/helpers/categories_helper.rb中添加以下代码:
代码语言:ruby
复制
module CategoriesHelper
  def ancestry_select(categories, select_options = {})
    select_options.reverse_merge!({
      selected: nil,
      disabled: nil,
      include_blank: true,
      prompt: "Select a category"
    })

    content_tag(:select, name: "category[parent_id]") do
      options_for_select(
        nested_options_for_select(categories, select_options),
        select_options[:selected]
      )
    end
  end

  private

  def nested_options_for_select(categories, select_options, level = 0)
    result = []

    categories.each do |category|
      option = [("-" * level) + category.name, category.id]
      if select_options[:disabled] && select_options[:disabled].include?(category)
        option[0] = "[#{option[0]}]"
      end
      result<< option

      if category.children.any?
        result += nested_options_for_select(category.children, select_options, level + 1)
      end
    end

    result
  end
end
  1. 在视图中使用辅助方法生成下拉列表。例如,在app/views/categories/_form.html.erb中添加以下代码:
代码语言:erb
复制
<%= form_for(@category) do |f| %>
  <div class="field">
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </div>

  <div class="field">
    <%= f.label :parent_id %><br />
    <%= ancestry_select(Category.arrange) %>
  </div>

  <div class="actions">
    <%= f.submit "Save" %>
  </div>
<% end %>

现在,下拉列表应该显示Ancestry树中的条目。请注意,这个答案没有涉及到云计算相关的内容,因为Ancestry是一个基于Rails的树形数据结构插件,与云计算无关。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在HTML下拉列表包含选项?

为了在HTML创建下拉列表,我们使用命令,它通常用于收集用户输入表单。为了在提交后引用表单数据,我们使用 name 属性。如果没有 name 属性,则下拉列表中将没有数据。...用于将下拉列表与标签相关联;id 属性是必需。要在下拉列表定义选项,我们必须在 元素中使用 标签。...价值发短信指定要发送到服务器选项值倍数倍数通过使用,可以一次选择多个属性选项。名字名字它用于在下拉列表定义名称必填必填通过使用此属性,用户在提交表单之前选择一个值。...大小数此属性用于定义下拉列表可见选项数量价值发短信指定要发送到服务器选项值自动对焦自动对焦它用于在页面加载时自动获取下拉列表焦点例以下示例在HTML下拉列表添加一个选项 标签和 标签在列表添加选项 -<!

25420
  • 电商管理系统原型分享- E-Market

    在页面搭建过程,我们充分利用了摹客Mockplus封装组件和图标,内容面板、弹出面板、下拉选择框组件等,完成了产品思路表达。...使用方式: ① 在某个页面设计好导航栏组件样式; 在此款原型,我们使用了矩形+图标+文字组件进行组合设计,也可以使用带文字图标组件直接组合,另外,列表、菜单、折叠面板、组件等,也适用于导航栏快速设计...5.消息列表选择状态切换设计 在设计邮件和聊天页面的消息列表时,为了突出选择,我们对被选中条目增加了颜色切换设计,当消息列表某个条目被选中时,颜色会切换为白色,且与右侧展开详情页颜色一致,互相呼应...6.其他组件使用技巧: 在这款电商管理系统原型,还使用了许多Mockplus封装组件来呈现电商管理系统各项功能,: ① 下拉列表框组件 当我们想要呈现上文所述内容切换效果,但内容层太多,无法使用分段控件实现...双击下拉列表框组件,即可编辑条目名称和设置交互。在右侧属性面板还可以设置文本颜色、选中颜色、是否允许输入等属性,非常方便。 ?

    1.7K30

    如何使用RVM在FreeBSD 10.1上安装Ruby on Rails

    本教程将介绍如何在FreeBSD 10.1服务器上使用RVM设置Ruby on Rails开发环境。 课程准备 在开始之前,您只需要: 一个FreeBSD 10.1 腾讯CVM。.... ~/.rvm/scripts/rvm 第3步 - 安装Ruby 您现在可以使用RVM安装任何版本Ruby。由于2.2.2是截至2015年6月最新稳定版本,我们将安装此版本。...50295) [x86_64-freebsd10.1] 第4步 - 安装Ruby on Rails 在这一步,我们将安装Ruby on Rails。...如果您还不在/tmp目录,请更改为该目录。 cd /tmp 使用该rails命令创建一个名为test-project新项目(或任何您喜欢项目)。...exit 结论 在本教程,您学习了如何在FreeBSD 10.1服务器上设置Ruby on Rails。您现在可以使用FreeBSD服务器作为Rails项目的开发环境!

    4.6K10

    JQuery 案例:下拉列表选中条目

    在前端舞台上,下拉列表是常见用户交互元素,但有时候我们想要更多交互体验。通过巧妙运用 JQuery,我们可以实现下拉列表中选中条目的左右移动功能,为用户提供更加灵活选择方式。...JQuery 下拉列表选中条目移动实现原理实现下拉列表选中条目的左右移动,主要涉及以下几个步骤:使用 HTML 创建一个下拉列表,并添加一些选项。使用 JQuery 选择器获取选中下拉列表。...为选中下拉列表绑定监听事件,监听键盘左右方向键按下。在事件处理函数,获取当前选中选项,并将其左右移动。下面是一个简单示例: 在这个示例,我们创建了一个简单下拉列表,并通过键盘左右方向键实现选中条目的左右移动。...-->小贴士在使用下拉列表选中条目移动功能时,有一些小贴士可能对你有帮助:1. 键盘操作提示在页面为用户提供键盘操作提示,让用户知道可以通过键盘操作进行左右移动。

    19410

    在测试自动化中使用Java枚举

    为了进行测试,让我们缩小将要使用国家/地区范围:奥地利,爱沙尼亚和西班牙。这些国家/地区每个国家/地区都有我们需要在注册表格中提供3个属性:国家/地区名称,城市列表和电话前缀。...您所见,Country属性是静态。 在注册表格上,从下拉列表中选择国家,从另一个下拉列表中选择城市,并通过在字段中键入来提供电话号码。...这意味着,从国家/地区下拉列表,我们将选择与“ ES”枚举条目的“ 标签 ”属性相对应值。这很容易检索:Country.ES.label。...但是,我们需要记住,出于显示目的,国家/地区下拉列表还包含一个不带任何文本条目。要求说我们不想在下拉列表中有任何预定义选择。 ? 选择国家/地区后,即可使用城市下拉菜单进行互动。...我们要编写测试需要检查我们想要并已存储在Enum所有国家和城市是否存在于其相应下拉列表。还要记住,每个下拉列表中都有空条目

    3.2K10

    在测试自动化中使用Java枚举

    为了进行测试,让我们缩小将要使用国家/地区范围:奥地利,爱沙尼亚和西班牙。这些国家/地区每个国家/地区都有我们需要在注册表格中提供3个属性:国家/地区名称,城市列表和电话前缀。...您所见,Country属性是静态。 在注册表格上,从下拉列表中选择国家,从另一个下拉列表中选择城市,并通过在字段中键入来提供电话号码。...这意味着,从国家/地区下拉列表,我们将选择与“ ES”枚举条目的“ 标签 ”属性相对应值。这很容易检索:Country.ES.label。...但是,我们需要记住,出于显示目的,国家/地区下拉列表还包含一个不带任何文本条目。要求说我们不想在下拉列表中有任何预定义选择。 选择国家/地区后,即可使用城市下拉菜单进行互动。...我们要编写测试需要检查我们想要并已存储在Enum所有国家和城市是否存在于其相应下拉列表。还要记住,每个下拉列表中都有空条目

    2.7K20

    【Java 进阶篇】JQuery 案例:下拉列表选中条目左右移动,打破选择边界

    在前端舞台上,下拉列表是常见用户交互元素,但有时候我们想要更多交互体验。通过巧妙运用 JQuery,我们可以实现下拉列表中选中条目的左右移动功能,为用户提供更加灵活选择方式。...JQuery 下拉列表选中条目移动实现原理 实现下拉列表选中条目的左右移动,主要涉及以下几个步骤: 使用 HTML 创建一个下拉列表,并添加一些选项。...使用 JQuery 选择器获取选中下拉列表。 为选中下拉列表绑定监听事件,监听键盘左右方向键按下。 在事件处理函数,获取当前选中选项,并将其左右移动。...-- 更多条目... --> 在这个示例,我们创建了一个简单下拉列表,并通过键盘左右方向键实现选中条目的左右移动。...实际应用场景 下拉列表选中条目的左右移动功能在实际应用中有着广泛使用场景,以下是一些例子: 1. 时间选择器 在时间选择器,用户可以通过左右方向键快速切换时、分、秒等时间单位,提高选择效率。 <!

    27730

    Unity Odin从入门到精通(三):静态检查器详解

    如下图所示: 过滤类型:首先在静态检查器中点击Type Filter按钮来打开下拉列表。然后从该下拉列表当中选择某些条目。...最后从该下拉列表里面选择某个条目,进而让静态检查器只查看该条目代表类型。...如下图所示: 过滤访问权限:当通过静态检查器选择了具体类型后,就可以首先在静态检查器中点击访问权限按钮来打开下拉列表。然后从该下拉列表当中选择某些条目。...过滤成员:当通过静态检查器选择了具体类型后,就可以首先在静态检查器中点击成员按钮来打开下拉列表。然后从该下拉列表当中选择某些条目。...3.可以在静态检查器上直接修改函数参数数值以及函数结果数值,并且通过点击Invoke按钮来调用该函数。 4.可以在静态检查器上直接修改Odin组定制特性应用成员数值。

    1.2K10

    面试题之会议安排

    现在基本上排在第一线互联网公司面试时都会考算法题,而且题目不是单纯算法而是描述一个场景,让面试者根据自己知识选用自己认为合适算法和面向对象思路解决场景遇到问题。...,到下午5点前必须结束; 现在你有一个清单,上面写明了所有要安排议题,和每个议题会占用时间; 清单如下 Writing Fast Tests Against Enterprise Rails 60min...30min User Interface CSS in Rails Apps 30min 清单 lightning占用5分钟,其他议题都各自注明了占用时间 现在你要写一个程序把清单上议题安排进四个时间段内...接下来就是要把19个Talk对象,刚到4个Sessiontalk_list属性安排会议前先把Talk对象们按照持续时长倒序排序。...循环Talk对象列表,将时长最长Talk对象安排到剩余时间最多Session对象

    1.1K20

    php dropdownlist,遇到dropdownlist

    但是控件使用和操作都比较复杂,对于一些比较简单操作,比如单选其中一个节点情况则可用使用下拉列表框来代替。...ASP.NET操作ORACLE数据库添加数据记录时如何生成自动编号… 文章 wangccsy 2006-02-15 927浏览量 在Option条目中填充前导空格方法 在使用Web页面上下拉列表框(...SELECT element)显示数据列表时,有时我们会遇到有层次数据条目。...比如论坛子论坛和它分类之间,以及一些具有包含关系层次数据条目。使下拉列表,不同level有一定显示缩进将是非常友好一种排版方式。...列表框分为很多种,比如下拉列表框(DropDownList)、列表框(ListBox),还有为了美观用div模拟,以… 文章 金色海洋 1970-01-01 794浏览量 1-3 Winform 常用控件

    3K10

    GO,KEGG富集分析工具——DAVID

    DAVID(https://david.ncifcrf.gov/home.jsp)是一个生物信息数据库,整合了生物学数据和分析工具,为大规模基因或蛋白列表(成百上千个基因ID或者蛋白ID列表)提供系统综合生物功能注释信息...DAVID目前工具可以实现以下功能 1.识别富集生物条目,尤其是GO条目 2.发现功能相关基因集合 3.聚类冗余注释条目 4.寻找其他功能相关但是不在列表基因 5.列出互作蛋白质 此外,...富集分析作用是可以帮助生物学家们了解基因集合生物学作用。 它使用方法简单: STEP1 用户将感兴趣基因集合粘贴到列表或者上传基因结合文件,文件格式为每行一个基因,或基因间用逗号隔开。...STEP2 选择标识符,从下拉列表中选择上传基因标示符,gene_symbol STEP3 选择上传基因类型,是背景基因结合还是要做功能富集基因结合 STEP4 提交列表,submit list...比如我们想要查看GOBP条目富集结果,点开后新页面如下: ? 点download file可进行下载。

    4.8K20

    模板代码 - 列表下拉刷新

    模板代码 - 列表下拉刷新   手机应用一个常见界面模式就是:顶部ActionBar + TabStrip导航,中间ListView,可以下拉刷新或者是底部加载更多。...为特殊样式,就是一直显示“左、、右” 3个tab指示器,左右滑动ViewPager切换Fragment时,或者点击tab标签时左右滚动来显示更多其它tab。...假设我们使用ListView显示一个下载应用列表界面,在ListView底部显示“加载更多”这样按钮,那么就是让ListView同时显示2种类型条目。   ...上面的LoadMoreViewHolder显示了使用ViewHolder来管理每个列表条目对应View是非常方便,这样可以让ListView每个条目的创建、状态修改代码都集中在一个类,如果不是使用...,常见有顶部轮播图片,顶部下拉刷新,以及底部加载更多等等。

    2.9K50

    python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例

    PyQt5下拉列表框控件QComboBox介绍 QComboBox是一个集按钮和下拉选项于一体控件,也称做下拉列表框 QComboBox类常用方法如表 方法 描述 addItem() 添加一个下拉选项...addItems() 从列表添加下拉选项 Clear() 删除下拉选项集合所有选项 count() 返回下拉选项集合数目 currentText() 返回选中选项文本 itemText(i...下拉列表框控件QComboBox代码分析: 在这个例子显示了一个下拉列表框和一个标签,其中下拉列表框中有几个选项,既可以使用QComboboxaddItem()方法添加单个选项,也可以使用addItems...()方法添加多个选项:标签显示是从下拉列表框中选择选项 #单个添加条目 self.cb.addItem('C') self.cb.addItem('C++') self.cb.addItem...('Python') #多个添加条目 self.cb.addItems(['Java','C#','PHP']) 当下拉列表框选中选项发生改变时将发射currentIndexChanged

    3.6K21

    数据结构练手小项目(AVL、哈希表、循环链表、MySQL数据库)

    文章目录 前言 正文(无删减) 我想法(删减修改版) 数据导入与数据存储 功能实现 数据结构 用户结构 SIM卡结构 AVL数据结构 哈希表结构 数据表 用户表 SIM卡表 时间安排 前言 本月主打数据结构...3.客户数据应组织为AVL搜索,并按“护照号”排序。...注意:1.在此数据存在在“护照号”字段包含值X条目,在“ SIM卡号”包含值Y条目分别表示向客户发放了护照号码XSIM卡号Y。 证明没有为护照号码为X客户发行了编号为YSIM卡。...新客户注册;(AVL插入数据) 客户服务提现;(AVL主键搜索) 查看所有注册客户;(主键遍历AVL) 清除客户数据;(AVL主键删除) 客户按全名或地址片段进行搜索。...3.客户数据应组织为AVL搜索,并按“护照号”排序。

    1.2K30

    Google Research吐嘈tensorflow!TF-Ranking迎来大更新:兼容Keras更容易开发

    首先,将响应查询 n 个文档列表合并为一个列表 元组,把这些元组输入到一个预训练语言模型(,BERT)。...然而,尽管 GAMs 已经在回归和分类任务得到了广泛研究,但是如何在排名环境应用它们还不是很清楚。...例如,GAMs 可以直接应用于为列表每个单独条目建模,但是为条目相互作用和这些条目排序环境建模是一个更难研究问题。...虽然神经模型已经在多个领域取得了最先进性能,但是专门梯度增强决策(gradient boosted decision trees, GBDTs) , LambdaMART,仍然是各种开放 LTR...其次,由于 GBDTs 使用决策对其输入特征空间进行分区,它们自然更能适应排名数据数值尺度变化,这些数据通常包含 Zipfian 或其他倾斜分布特征。

    90550

    C# WPF中用ChartControl绘制柱形图

    中选择系列1,然后在“选项”选项卡,指定“填充”作为系列显示名称。 使用“展开”按钮展开“填充系列”选项,然后选择“点”项目。...第二个序列是隐藏,因为它有数值参数。 将第二个系列显示名称指定为区域。 单击“清除系列数据”按钮以清除自动生成数据。 然后,定义面积系列点数据,如下所示: Step 3....自定义图表 本节介绍如何自定义图表外观。 #在单独窗格显示系列 以下步骤显示如何在单独窗格显示每个系列: 展开“窗格”项。单击“其他窗格”项目的“添加”按钮以创建新窗格。...在“图元”中选择面积系列。在选项选项卡,找到窗格选项,并在其下拉列表中选择窗格#1项。 添加次轴 按照以下步骤添加和自定义次轴: 展开“轴”项目。单击次Y轴项目的“添加”按钮以添加次Y轴。...在“选项”选项卡,使用选项下拉列表将“Y轴”选项设置为次轴Y#1。 在“图元”中选择次轴Y#1。然后,将轴对齐选项设置为“近”。 下图显示了结果。

    2.8K10

    jquery autoComplete 自定义回写样式

    max: 20,//autoComplete下拉显示项目的个数             autoFill: false, //要不要在用户选择时自动将用户当前鼠标所在值填入到input框            ...//mustMatch: true, //autoComplete只会允许匹配结果出现在输入框,所有当用户输入是非法字符时将会得不到下拉框             matchContains: true..., //决定比较时是否要在字符串内部查看匹配,ba是否与foo barba匹配.使用缓存时比较重要.不要和             multipleSeparator: '',//如果是多选时,...                        }; return rows;             }, formatItem: function (data, i, max) {//格式化列表条目...row:条目对象,i:当前条目数,max:总条目数   return  ""+data.itemName

    2.3K20

    西门子HMI-自定义登录对话框

    具备不同操作权限用户登录时,相对于系统提供登录对话框,自定义登录对话框显得更加灵活。自定义登录对话框可以选择手动输入用户名,也可以通过下拉列表方式选择用户名。 1....如果采用下拉列表输入用户名方式,则可以参考本文档描述。...2 项目组态 2.1 在“用户管理”组态用户和密码 2.2 在“文本和图形列表组态文本列表 添加文本列表UserName(该名称可自行定义),并创建相应文本列表条目。...输出文本(输出) 执行“查找文本”函数后输出结果 索引 定义列表条目变量 语言 定义标识列表条目所使用运行系统语言 文本列表 定义文本列表列表条目从文本列表读取  在弹出画面组态用于密码输入...下拉选择用户 当前登录用户 自定义登录窗口 备注:如果在项目运行时通过用户视图控件对用户进行新增、删除或者修改用户名操作,由于文本列表条目是固定用户名

    4.4K30
    领券