Ruby on rails Rails\u管理相关下拉列表

Ruby on rails Rails\u管理相关下拉列表,ruby-on-rails,rails-admin,Ruby On Rails,Rails Admin,有没有办法根据另一个下拉列表的值过滤下拉列表 例如,如果我们有:Class和Student模型,其中Student有Class\u id;是否有方法根据所选的类筛选下拉列表中显示的学生 编辑 显然,rails_admin gem有一个我一直在寻找的关联关系;但它并不完美。如果您可以使用Javascript,这将帮助您: 在本例中,您的下拉列表可能如下所示: <%= f.collection_select :class_id, Class.all, :id, :name, {:prompt

有没有办法根据另一个下拉列表的值过滤下拉列表
例如,如果我们有:
Class
Student
模型,其中
Student
Class\u id
;是否有方法根据所选的
筛选下拉列表中显示的学生

编辑


显然,rails_admin gem有一个我一直在寻找的
关联关系;但它并不完美。

如果您可以使用Javascript,这将帮助您:

在本例中,您的下拉列表可能如下所示:

<%= f.collection_select :class_id, Class.all, :id, :name, {:prompt => "Select a Class"}, {:id => "class"} %>

<%= f.collection_select :student_id, Student.all, :id, :name, {:prompt => "Select a Student"}, {:id => "student"} %>
给定两个
元素
“Class”
“Student”
,其中
Student
列表包含
数据类id
属性,这些属性引用
列表中的值(请参见下面的代码片段),您可以基于
类过滤
“Student”
下拉列表
使用以下普通JavaScript代码的下拉列表值:

var firstSelectId=“Class”;
var secondSelectId=“学生”;
var data\u attr=“class\u id”;
addEventListener(“DOMContentLoaded”),函数(事件){
var firstSelect=document.getElementById(firstSelectId);
var secondSelect=document.getElementById(secondSelectId);
firstSelect.addEventListener(“更改”,函数(事件){
var值=event.target.value;
Array.prototype.forEach.call(secondSelect.options,函数(项){
item.style.display=(item.dataset[data_attr]==值)?“内联”:“无”;
});
var selected=secondSelect.selectedOptions[0];
if(selected&&selected.dataset[data\u attr]!==event.target.value){
secondSelect.selectedIndex=-1;
}
});
firstSelect.dispatchEvent(新事件('change'));
});

选择班级和学生:
第一类
类别2
类别3
A.
B
C
D
E
F

这是相关链接:该链接编辑了原始问题

我根据其内容对您的答案进行了投票,但这不是我要搜索的内容。。我正在使用Rails_Admin gem,它会自动生成您的后端。您至少可以更改前端和javascript吗?你能使用像Select2JSplugin这样的东西吗?@mlabarca不幸的是,我没有投票支持正确的逻辑,但这不是我想要的for@RocKhalil在这种情况下,你能更具体地说明你在寻找什么,并更新你的问题以包括更多的细节吗;无论如何,我已经编辑了这个问题;我发现他们是如何使用联想的;但我将答案保留在这里,因为它们对搜索相关dropdows问题的任何人都很有用。@RocKhalil因此,更明确地说,您的问题是,“有没有一种方法可以直接使用
rails\u admin
gem根据另一个下拉列表的值筛选下拉列表?”此外,我还看到您添加了“显然,rails_admin gem有一种我一直在寻找的
关联关系;这是否意味着你的问题已经解决了(在这种情况下,发布你自己的答案并将其标记为已接受)?或者关于
关联
关系是否存在某些特定的问题,您仍然希望得到答案?嗯,
rails\u admin
中的
关联
不会自动刷新;因此我想我会发布相关的URL并关闭问题以保留其他答案;
class_id = $("#class").find(":selected").text()