代码之家  ›  专栏  ›  技术社区  ›  Matt Baker

链接列表相关选择框

  •  1
  • Matt Baker  · 技术社区  · 14 年前

    所以我已经很久没这么做了,但我完全被困在这个问题上了。我有一个这样的模型(为了简洁而简化):

    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. 所选对象都是同一类型(要求级别)

    有什么建议吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   dpb    14 年前

    既然你还在起步,我可以建议你看一下优秀的铁路剧集吗?尤其是这里的那个:

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

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

    1. 抛弃RJ,使用jquery客户端完成几乎所有的工作。jquery在这里非常出色。如果数据列表是静态的,那就更好了,但是如果不是静态的,您可以使用Ajax在进行更新时为您更新内容。
    2. 查看不同的UI元素,可能是多选框或一组复选框,具体取决于具体情况。

    我对你的方向没有问题,但是由于你对问题的技术细节有点了解,我只是给出一些一般性的建议,而不是一个具体的答案。

    祝你好运!