gpt4 book ai didi

ruby-on-rails - 表单中的 Rails 依赖 collection_select 字段

转载 作者:行者123 更新时间:2023-12-03 16:03:09 24 4
gpt4 key购买 nike

我正在开发一个 rails 应用程序,但找不到如何处理相关下拉列表。
我有 3 个模型:
- 具有多个组的类别
- 有几个成员的组
- 成员

选择一个类别后,我希望该类别中的组填充第二个下拉列表(组和成员之间的内容相同)。

我有以下表格(显然,这不是我想要的,因为我为特定模型取走了所有元素)...

<div class="field">
<%= f.collection_select(:category, Category.find(:all), :id, :name, {:include_blank => 'Category'}) %>
</div>
<div class="field">
<%= f.collection_select(:group, Group.find(:all), :id, :name, {:include_blank => 'Group'}) %>
</div>
<div class="field">
<%= f.collection_select(:member, Member.find(:all), :id, :name, {:include_blank => 'Member'}) %>
</div>
<div class="actions">
<%= f.submit %>
</div>

使这些字段依赖的最佳方法是什么?我在网上找到了几个关于此的主题,但无法真正找到答案。

最佳答案

最好的方法是 AJAX 调用。
在开始时只填充类别下拉列表。并在更改类别时进行 ajax 调用并填充组。并对组下拉更改中的成员执行相同操作。

尝试这样的事情:

$("#category']").click(function(){
var url = '/get_drop_down_options?category_id=' + $(this).val()
$("#group").removeOption(/./)
$.get(url, function(data) {
$('#group').addOption(data, false);
});
});

在您的 Controller 中:
def get_drop_down_options
val = params[:category_id]
#Use val to find records
options = YourModel.collect{|x| "'#{x.id}' : '#{x.label}'"}
render :text => "{#{options.join(",")}}"
end

现在你不需要部分。

关于ruby-on-rails - 表单中的 Rails 依赖 collection_select 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5311284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com