Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 Rails 3&选择标签-如何加载数据_Ruby On Rails 3_Forms_Activerecord_Select - Fatal编程技术网

Ruby on rails 3 Rails 3&选择标签-如何加载数据

Ruby on rails 3 Rails 3&选择标签-如何加载数据,ruby-on-rails-3,forms,activerecord,select,Ruby On Rails 3,Forms,Activerecord,Select,我将我的菜单结构存储在DB表中,如下所示: id | item | par 1 | A | 0 2 | B | 0 3 | C | 1 4 | D | 1 我想了想,如何获得我的选择选项语句如下: A B A -> C A -> D A B C D 我可以这样说: A B A -> C A -> D A B C D 使用以下命令: }%> 但是我找不到一个方法,如何在中间例子中实现语句…我想问你,有人能帮我解决这个问题吗 提前谢谢

我将我的菜单结构存储在DB表中,如下所示:

id | item | par
1  | A    | 0
2  | B    | 0
3  | C    | 1
4  | D    | 1
我想了想,如何获得我的选择选项语句如下:

A
B
A -> C
A -> D
A
B
C
D
我可以这样说:

A
B
A -> C
A -> D
A
B
C
D
使用以下命令:

}%>

但是我找不到一个方法,如何在中间例子中实现语句…我想问你,有人能帮我解决这个问题吗


提前谢谢。

您可能需要一个创建所需标签的助手。因此,如果您将助手命名为full\u item\u name,则

<%= select("menu_item", "menu_id", Menu.all.collect {|p| [ full_item_name(p.item), p.id ] }, {:include_blank => ''}) %>

您正在实现自己的单表继承吗?如果是这样的话,我建议看一看。然后你可以使用所有它的奇特助手方法来获取每个菜单项的所有子菜单项。是的,我知道你的意思,但现在我正在努力寻找一种方法,如何获取数据,如何制作完整的项目名助手,我的模型就像第一篇文章中的那样-当然我的DB表中有更多的列,但是这些都不重要,我理解,但是你能为你的模型发布代码吗?这样我们就可以编写一些代码来演示如何进行关联。