Ruby on rails 使用“局部”渲染完整视图

Ruby on rails 使用“局部”渲染完整视图,ruby-on-rails,Ruby On Rails,我有一个简单的部分来展示相关社区的一些主题 <%= render :partial => 'shared/topic', :collection => @community.topics %> 但是我无法从我的社区视图中获取community.id 我也试过: @topicscommunity = @community.topics.find(:all, :conditions => {:community_id =&g

我有一个简单的部分来展示相关社区的一些主题

<%= render :partial => 'shared/topic', :collection => @community.topics %>
但是我无法从我的社区视图中获取community.id

我也试过:

@topicscommunity = @community.topics.find(:all, 
                     :conditions => {:community_id => @community.id})
但从控制器上看,它不起作用


谢谢您的帮助。

您不必仅在视图中使用
render:partial=>…
。您可以在控制器中轻松地执行此操作(而不是
render:action=>…
或其他任何操作)

所以,把这个放在控制器的末尾

render :partial => 'shared/topic', :collection => @community.topics

使用
:action
:partial
:text
:template
或任何其他散列键调用
呈现
之间没有根本区别。

如果您只想呈现相同的模板,请使用:

def topicsCommunity
  fetch_skills ["community_id = ?", @community.id]     
  render 'index'
end

谢谢你的回答。我想我问的问题不对。我想有一个网页像一个索引页的所有主题包含在社区。我想我可以通过路由来完成,但是mysite/communities/topics/总是将所有主题作为mysite/topics/提供给我。我只是更新了我的代码(获取主题,而不是获取技能)。但是我不明白我的代码有什么不同。当我放置一个像“topicsCommunity\u topics\u path”这样的链接时,它从社区返回一个nil对象,因为它没有将id作为参数。
def topicsCommunity
  fetch_skills ["community_id = ?", @community.id]     
  render 'index'
end