用另一个控制器在其他视图中渲染模板

时间:2016-04-13 13:49:18

标签: ruby-on-rails ruby ruby-on-rails-4

如何将其他控制器的模板渲染到另一个视图?我想生成'索引'模态中的模板,但此模式是在其他视图中与其他控制器生成的。所以我必须在控制器中创建对象,必须为其他索引设置对象。行动。 enter image description here

1 个答案:

答案 0 :(得分:3)

您可以定义在其他控制器视图中使用的所有必需实例变量,并在任何位置呈现它:

render "other_controller/action"

如果您正在共享某个元素(如模态框内容),更好的方法是将其提取到共享部分(shared/_your_partial.html.erb)并将其包含在其他视图中。这将是更加模块化的方式。

或者,您可能希望使用jQuery来填充模式框内容,如下所示:

$('#some-button').click(function(event){
  event.preventDefault();
  $('#modal-box').load('controller2/index');
});