2014-05-10 126 views
0

说我有一个项目控制器从另一个控制器调用一个实例变量

@project实例变量

,我也有一个project_updates控制器我project_updates /视图/节目我可以叫

在@project变量?例如,我有我的@project实例

在project_updates类别显示视图我呼吁:

<% @project.categories.each do |cat| %> 
    <li><%= cat.name %></li> 
<% end %> 

或者我需要从不同的控制器带来的实例变量到一些其他的控制器办法?

+0

您应该在'project_updates'控制器中定义'@ project',以便在show view页面中使用它。 – Pavan

回答

3

我可能过分简化了这一点,但尽管您可能认为在另一个控制器中有一个变量,但这可能并非如此。

当请求进入并被路由到控制器时,将创建一个控制器实例。如果那个其他控制器不是一些如何实例化为请求的一部分,那么你认为这个变量并不存在。

然而模型确实存在(至少以数据库形式)。所以基本上我认为你应该试图通过从你的模型中提取一些数据来获得在你的project_updates控制器中创建的@project变量。

如何在其他控制器中创建@project变量?很有可能你会在这个控制器中使用相同的方法来创建它,那么它可以用于你的视图。

相关问题