2011-03-03 39 views
0

假设我有一个产品模型,并且用户在组合框中选择了它的类别。该类别只有一个字段,名称。 我想在这个组合旁边有一个“添加”按钮,让用户只需在javascript提示对话框中输入其名称即可添加另一个类别,因此该类别被插入到数据库中,并且组合更新。Rails - 从javascript提示创建记录

达到此目的的最佳方法是什么?

谢谢!

+0

看看这里远程窗体:http://www.alfajango.com/blog/rails-3-remote-links-and-forms/ – apneadiving 2011-03-03 17:02:46

+0

感谢您的链接,伟大的文章。但我仍然不确定如何将类别插入数据库,并通过单击产品表单中的按钮来更新组合。我错过了什么 ? – Brian 2011-03-03 17:57:19

回答

0

所以这就是我从问题的理解..你想在你的表中创建一个记录时,使用点击添加按钮。记录的值应该是用户在提示对话框中提供的名称。

你可以这样做,如果你使用jQuery的,大概是这样做到这一点。当用户输入名称

1)做一个AJAX调用服务器端..

$.post("yourcontroller/yourmethod", { name: "value given by user in the prompt"}, function(data) { 
     //this is where you update the combo 
    }); 

2)声明在config/routes.rb中yourcontroller/yourmethod路线..

3)定义在控制器yourmethod其内容PARAMS [:名字],并根据您正在使用的ORM会在创纪录表。如果你使用Sequel ORM,你可能会这样做。

YourTable.create(
    :name => params[:name] 
) 

那应该在你的表中创建一条记录。