这是我的Rails问题。
有时页面上有独立的块(例如“最新消息”),它与当前控制器或动作没有逻辑关系。在常规rails MVC堆栈中,我会在我的控制器中编写@news = News.latest
并在我的视图中编写render 'shared/latest_news', news: @news
。
然而,由于几个原因,它对我来说太过分了。相反,我想在视图中写render 'shared/latest_news', locals_call: "NewsController#latest"
,就是这样。
这一行背后应该发生的是调用“NewsController#latest”方法来接收渲染此模板时使用的本地哈希。
有没有人知道这些电话的宝石?
答案 0 :(得分:0)
您可以在ApplicationHelper中创建一个通用帮助器方法:
def latest_news_tag
render partial: 'shared/latest_news', locals: { news: News.latest }
end
您可以在任何所需的视图中调用此方法,例如<%= latest_news_tag %>
。