2

这是我对 Rails 的问题。

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

有谁知道这种电话的宝石?

4

1 回答 1

0

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

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

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

于 2012-11-15T16:23:19.980 回答