将渲染函数作为参数传递给局部视图

时间:2017-07-22 00:56:16

标签: ruby-on-rails ruby-on-rails-5

我正在尝试使用Rails 5和Bootstrap模式构建一个通用的模态局部视图。为了渲染这个局部视图,我希望能够做到这样的事情:

final Calendar mcurrentTime = Calendar.getInstance();

换句话说,我在我创建的通用bootstrap_modal局部视图中有一个“模态体”部分。我想基本上通过modal_body参数传递一个渲染函数,这样我就可以在模态体中渲染我想要的东西。 Ruby on Rails有可能吗?

2 个答案:

答案 0 :(得分:0)

您可以使用render_to_string方法(docs)。

这样的事情应该有效

<%= render 'shared/bootstrap_modal', modal_id: 'modalId', modal_title: 'Modal title', modal_body: render_to_string('user_list', locals: {users: users}) %>

答案 1 :(得分:0)

你只是有一些不好的语法,如果你将内部render改为这样的话,它对我有用

<%= render 'shared/bootstrap_modal', modal_id: 'modalId', modal_title: 'Modal title', modal_body: render('user_list', users: users) %>