我有一些两个嵌套的资源,以便产品可以有很多预订。在另一个控制器中的一个页面上,我想创建一个新的预订,并且由于这是一个“常规”预订,我想要一个选择菜单出现在模式窗口中,用户可以选择其中一个现有产品,然后转到预订页面。在将它传递给Rails中的'新'表单之前选择id的表格
我该怎么做?
我没有问题设置模式和“新预订”页面已经存在。我需要的是一个生成现有产品列表的表单,选取所选产品ID,然后获取/ products /:product_id/bookings/new。
清除;
我对这两种资源的路线设置:
resources :products do
resources :bookings
end
的产品有很多订单,从而创建一个新的预订将在路径/产品/:PRODUCT_ID /预订/新。
我有另一个控制器的视图,我想要一个按钮来创建一个新的预订。问题是我不知道当点击“新预订”按钮时用户想要创建预订的产品。为了解决这个问题,我的计划是显示一个包含所有产品选择的模式窗口,用户应该能够选择产品,然后将其重定向到/ products /:product_id/bookings/new,其中:product_id作为所选产品。
现在我有一个可行的解决方案,但它不是很好,我创建了一个表单,其中包含/ products /:product_id/bookings/new和method = get。然后,我赶上用JavaScript提交,更改操作,然后重新提交:
$("#new_booking_form").submit(function() {
var product_id = $(this).find('select').val();
var form_action = $(this).attr("action");
var new_form_action = form_action.replace(/product_id/, product_id);
$(this).attr("action", new_form_action);
$(this).submit();
});
此解决方案的作品,但非常难看!有什么建议么?
我编辑我的问题,希望它更有意义吧!尽管感谢您的回答。 – samuel02 2012-03-27 07:48:04