Rails渲染子动作gem

时间:2012-11-15 16:06:38

标签: ruby-on-rails ruby

这是我的Rails问题。

有时页面上有独立的块(例如“最新消息”),它与当前控制器或动作没有逻辑关系。在常规rails MVC堆栈中,我会在我的控制器中编写@news = News.latest并在我的视图中编写render 'shared/latest_news', news: @news。 然而,由于几个原因,它对我来说太过分了。相反,我想在视图中写render 'shared/latest_news', locals_call: "NewsController#latest",就是这样。 这一行背后应该发生的是调用“NewsController#latest”方法来接收渲染此模板时使用的本地哈希。

有没有人知道这些电话的宝石?

1 个答案:

答案 0 :(得分:0)

您可以在ApplicationHelper中创建一个通用帮助器方法:

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

您可以在任何所需的视图中调用此方法,例如<%= latest_news_tag %>