从Rails控制器中的Javascript对象获取值

时间:2017-01-23 13:36:01

标签: javascript ruby-on-rails

我对Rails相当新,但我有一种情况,即用户可以通过拖放模块来创建空缺并为该空缺选择模块。 每当某些东西发生变化(一个模块已被添加/移除到订单的空缺已经改变)我通过AJAX将一个javascript对象发送到rails控制器,我想从这个对象中提取值并在我的DB中对它们进行故事记录。 / p>

我的对象将如下所示:

addedModules = {
   module: [
      {module_id: '1', name: 'first-module', width: '3', height: '1', position: '1'},
      {module_id: '5', name: 'fifth-module', width: '1', height: '1', position: '2'},
      {module_id: '3', name: 'third-module', width: '4', height: '1', position: '3'},
   ]
};

在我的控制器中,我想浏览每个模块并提取其module_id,名称等

AJAX阻止:

$.ajax({
    type: "POST",
    url: "../../../vacancies/" + <%= params[:vacancy_id] %> + "/update_with_modules",
    data: "addedModules=" + addedModules
}).done(function (response) {
    console.log(response);
});

有没有办法这样做,还是有更好的解决方案?

1 个答案:

答案 0 :(得分:1)

更改此行:

buttons = []
for p in [(20,50),(40,50),(60,50)]:
    buttons += [Button(root, text= "Button", height = 1, width = 1, command = command, x = p[0], y = p[1])]

这一行:

data: "addedModules=" + addedModules