1

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

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 回答 1

1

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

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

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

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

我对您正在寻找的方向没有任何问题,但由于您对问题的技术细节有点了解,我实际上只是提供一些一般性建议而不是具体答案。

祝你好运!

于 2010-02-27T06:13:19.757 回答