2012-11-15 43 views
2

這是我的Rails問題。Rails渲染subaction寶石

有時在頁面上有獨立的塊(例如「最新消息」),它與當前的控制器或動作沒有邏輯關係。在我的視圖中,在普通導軌MVC堆棧中,我將在我的控制器中寫入@news = News.latest,在render 'shared/latest_news', news: @news中寫入。 但是由於以下原因,對我來說太多了。相反,我想寫render 'shared/latest_news', locals_call: "NewsController#latest"在這個視圖中,就是這樣。 這一行背後應該發生的事情是調用「NewsController#latest」方法來接收渲染此模板時使用的本地散列。

有沒有人知道這種電話的寶石?

回答

0

你可以在ApplicationHelper使通用輔助方法:

def latest_news_tag 
    render partial: 'shared/latest_news', locals: { news: News.latest } 
end 

你可以在任何你想要的視圖,例如調用此方法<%= latest_news_tag %>