链接列表相关选择框

时间:2010-02-26 23:23:35

标签: jquery ruby-on-rails ruby rjs

所以我没有长时间这样做,但我完全坚持这一点。我有一个看起来像这样的模型(简化为简洁):

class ReqBreakdown < ActiveRecord::Base
  belongs_to :next_level #nil if lowest level
  belongs_to :previous_level #nil if highest level
  belongs_to :requirement_level
end

我需要一种从UI构建这些列表的方法。我最初设想使用像这里描述的链接下拉菜单:http://blog.jatinder.me/2006/09/cascading-select-boxes-with-rjs.html但我甚至无法让它在我的控制器上调用该操作。我将描述的javascript复制到我的application.js中,确保它包含在我的布局中,将帮助器添加到application_helper.rb,并将支持操作添加到我的控制器,但没有运气。老实说,我甚至不确定它是否符合我的要求。 选择规则是:

  1. 最多4个级别(即4个选择框)。
  2. 没有循环引用(即必须从下一个要选择的文本框中删除所有以前选定的项目)
  3. 所选对象的类型都相同(requirement_level)
  4. 有什么建议吗?

1 个答案:

答案 0 :(得分:1)

既然你还在开始,我可以建议你观看优秀的轨道广播剧集吗?特别是这里的一个:

我知道这可能不是您正在寻找的答案,但由于您无法让您的控制器连接到您想做的任何事情,您的问题可能真的在任何地方。 Ryan(railscasts的作者)很好地解释了这些小东西,并为他的所有剧集提供了完整的源代码。

如果这是我,我可能会做两件事之一。

  1. Ditch rjs,并使用jquery客户端来完成整个事情。 jquery真的很擅长这里。如果数据列表是静态的,那就更好了,但如果不是,你可以使用ajax为你更新内容。
  2. 查看不同的UI元素,可能是多选框或复选框组,具体取决于具体情况。
  3. 我对你正在寻找的方向没有任何问题,但由于你对这个问题的技术细节有点了解,我真的只是给出一些一般性的建议而不是具体的答案。

    祝你好运!