2009-12-18 73 views
0

好吧我已经发布了一些与我的问题有关的事情,但我认为我已经缩小了范围。这是我在哪里:部分从外部main/index.rhtml渲染... Ruby on Rails

我有我的index.rhtml页面里面的/ views/main和main_controller设置正确。我试图让这个页面成为一个仪表板,所以它需要引用多个其他视图来显示它们的index.html.erb页面。我将以'提案'为例。我想在views/main/index.rhtml侧栏中显示提案views/proposals/index.html.erb页面。我收集到了你通过偏见来做到这一点。

所以...我创建了一个文件/views/proposals/_index.html.erb,它具有与views/proposals/index.html.erb相同的代码。

然后在我的意见/主/ index.rhtml里的文件我有以下代码:

<%= render :partial => @proposal %> 

现在,我没有得到一个错误信息,则显示根本不算什么。我没有在我的routes.rb文件中引用这个(我不认为),我怀疑是这个问题。

对这个问题的冗余抱歉,但我甚至都不知道我在问什么。希望这可以帮助。

更新:

当我把<%= render :partial => "proposals/index" %>下面提到现在我得到这个错误:

You have a nil object when you didn't expect it! 
You might have expected an instance of Array. 
The error occurred while evaluating nil.each 

Extracted source (around line #1): 

1: <% @proposals.each do |proposal| %> 
2: <div id="proposalindex"> 
3: <%= link_to_unless_current h(proposal.name), proposal %><br/> 
4: <p5>Added <%= time_ago_in_words(proposal.created_at) %> ago | </p5 

这部分作品的提案控制器不是不知道这是什么意思之内。

回答

2
<%= render :partial => "proposals/index" %> 
+0

我只是这样做,仍然没有去。进一步了一点,但现在又出现了另一个错误。我将更新该问题,以便您可以看到该错误。 – bgadoci 2009-12-18 21:28:00

+0

你在'MainController#index'中有'@ proposals'对象吗?如果你想列出所有提议,你仍然需要在某个时候执行'@proposals = Proposal.all'。 – theIV 2009-12-18 21:38:38

+0

我不知道。在那里展示它的最佳方式是什么? – bgadoci 2009-12-18 21:40:57