Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails3使用ajax更新了两个模型_Ruby On Rails_Ruby On Rails 3_Jquery_Twitter Bootstrap - Fatal编程技术网

Ruby on rails Rails3使用ajax更新了两个模型

Ruby on rails Rails3使用ajax更新了两个模型,ruby-on-rails,ruby-on-rails-3,jquery,twitter-bootstrap,Ruby On Rails,Ruby On Rails 3,Jquery,Twitter Bootstrap,我已经在这上面呆了大约两个星期了。我需要以正确的方式来帮助。我有两个模型。模型一是潜在客户。模式二是转介 线索属于推荐 推荐有很多潜在客户 在Lead entry(潜在客户输入)屏幕中,有一个显示潜在客户可从中选择的可能转介的分部。在部分中有一个Add-reference链接,它使用twitter引导作为css框架提供了一个模式。由此,我呈现了转诊控制器的新动作 到目前为止,所有这些都是有效的。我想做的是,我可以输入一个新的转介,它被保存,模式关闭,然后更新Leads edit/new视图部分中

我已经在这上面呆了大约两个星期了。我需要以正确的方式来帮助。我有两个模型。模型一是潜在客户。模式二是转介

线索属于推荐

推荐有很多潜在客户

在Lead entry(潜在客户输入)屏幕中,有一个显示潜在客户可从中选择的可能转介的分部。在部分中有一个Add-reference链接,它使用twitter引导作为css框架提供了一个模式。由此,我呈现了转诊控制器的新动作

到目前为止,所有这些都是有效的。我想做的是,我可以输入一个新的转介,它被保存,模式关闭,然后更新Leads edit/new视图部分中的转介列表,以反映已添加的新转介。但在这一点上,我现在有了嵌套的表单。以及一份由不同的控制员处理的推荐表

我不确定我应该如何处理这个问题。几周来,我一直在寻找和尝试各种方法。我是否重复我自己,并在Leads controller and view下完全重建转诊视图和控制器?像这样重复的代码就是我切换到rails的原因,也是我觉得自己没有正确看待这一点的原因。必须有一个简单的方法来解决这个问题。我看过使用Draper和Cell之类的Gems,也看过使用presenters。但这些似乎都是仪表盘类型视图的解决方案,而不是我想要实现的

任何帮助或指导都将不胜感激


谢谢你…

这就是我编写此类问题的方法。 这对我很有用,也许你能适应你自己的情况

那么,您在您的推荐控制器上创建操作时,应该使用javascript进行响应

if @referral.save
    format.js
这样,您将在视图文件夹中创建一个create.js.erb文件,您可以在其中保存转诊的视图。 在create.js.erb中,您可能有类似的内容:

$('#modal_id').hide(); // Hide the modal or if you prefer, remove from DOM.
$('#referral_list_id').chidren().delete(); // Remove the list of referrals.
$('#referral_list_id').html(
  "<%= escape_javascript(render('referrals_list')) %>"
); // Render a partial with the new content from your controller.

也许您在以这种方式实现时会遇到一些问题,但我相信这很容易解决。

谢谢。我遇到了一些问题。首先是在正确的位置获取表单,我将它们一个嵌套在另一个中,另一个是使用create.js.erb,我发现我必须移动$'modal_id'。隐藏为最后一条语句,否则如果它作为js文件中的第一条语句运行,其他语句不会产生任何影响。无论如何,谢谢你,这帮我找到了正确的解决方法。没问题,真的很高兴能帮上忙。
<%= form_for @referral, :remote => true do %>