需要根据选择菜单更新HABTM复选框

时间:2011-08-28 19:46:09

标签: ruby-on-rails

在我的rails 3.1 app中,我有一个Timesheet模型。时间表属于轨道。轨道有许多TimingEyes。

当我创建一个新的Timesheet并选择它的Track(通过选择菜单)时,我需要动态显示一组复选框,用于选择那天激活的Timing Eyes。目前我可以显示我的数据库中可用的所有计时眼,但是有十几个轨道,每个轨道有几个计时眼睛。这是关于新时间表表单的太多信息。

有没有办法可以将Timing Eyes组限制在我的选择菜单中选择的track_id?使这个多步骤形式有利吗?

1 个答案:

答案 0 :(得分:1)

多步形式在这里不会是一件坏事,并且会消除复杂性......如果你想留在单页形式中,这听起来像是一些jquery的好时机。

只要选择框更改值,就会触发.change

当此触发时,使用.get (ajax)呈现“复选框”部分html。

所以基本的样板看起来像这样:

$("#trackselect").change(function () {
    $.get('yoururl', function(data) {
       $('#checkboxsection').html(data);
    });
})

使用此设置,您需要定义一个url / page,输出该特定曲目的复选框html。也许像(http://yourdomain.com/tracks/:id/checkboxes)。

希望这有帮助