1

我有一个用户模型,属于一个大学和一个学院和一个系。Ruby on Rails多个collection_select

大学有许多学院。一个学院有很多部门。

在我的用户创建表单(使用devise)中,当我更改其中一个时,有3个下拉列表会相应地更改,最好的方法是什么?

例如:

  • 用户选择大学A - >下拉的院系与院系更新,其中大学= A
  • 与同为一名教师和部门

我想限制ajax和javascript的数量。我想知道是否有由rails本身提供的优雅解决方案。

+1

你几乎说出了答案。当你选择一些东西时,使用ajax从服务器中获取下一个选择。现在就由你来编码吧! –

回答

1

有两种方法可以做到这一点。第一个是通过ajax,第二个是通过JavaScript只。

第一个选项很容易实现,因为您的排序和过滤将在控制器中完成。

第二个选项有点复杂,因为您需要将json表单中的所有数据加载到javascript变量中。它们将是ruby哈希,它将在页面加载之前存储在javascript变量中之前转换为json。加上这种方式的一点是,我们在单个请求中加载的所有数据。

+0

我想我会去阿贾克斯..这只是一个烂摊子.. –

+0

是的。这很容易处理。 –