有没有办法将Rails局部视图“绑定”到控制器?

时间:2010-11-06 19:08:08

标签: ruby-on-rails partials

我想要做的是在显示局部视图的内容之前在控制器中进行一些初始化编码。

例如,如果部分视图传递了对象的ID,那么获取对象本身然后将​​其发送到视图是明智的。

您可以使用ASP.NET MVC轻松完成。但是在像

这样的Rails代码中
def some_partial_view
  @obj = Obj.find(params[:id])
  ...
end

不起作用。

有办法吗?

1 个答案:

答案 0 :(得分:1)

你所粘贴的东西应该有用......你怎么知道它没有?


修改 基本上你不会从你的控制器渲染局部但在另一个视图中。通过:locals您可以访问特定的变量:

<%= render :partial => "form", :locals => { :obj => @obj } %>

和你的部分:

<%= obj %>