在补充工具栏中显示文章

时间:2016-11-10 02:43:44

标签: ruby-on-rails

与我的上一个问题类似。我已按照本指南访问了我的第一个rails应用程序。 http://guides.rubyonrails.org/getting_started.htmlccap

我在布局视图中制作了一个布局,我想在侧面栏中列出所有文章。我做了一部分,其中包括文章标题循环和链接。

出于某种原因,它似乎只适用于文章页面......所以http://localhost:3000/articles

我认为那是因为我没有在我的控制器中为它创建def?我不知道如何创建它虽然是部分。

我的理解是我可以像

那样
def index
  @articles = article.all
end

但是因为它是_sidebar.html.erb的一部分,我不知道该怎么做。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

假设您正在从布局中渲染侧边栏。实现此目的的最佳方法是在before_action

中创建ApplicationController过滤器

你应该得到像这样的东西

class ApplicationController < ActionController::Base
  protect_from_forgery with: :excption
  before_action :fetch_articles

protected
  def fetch_articles
    @articles = Article.limit(10) # Gets 10 articles
  end
end

这将在您的rails应用中的每个操作之前运行fetch_articles方法。 这意味着只要呈现新动作,@articles变量就可用于侧边栏部分。

答案 1 :(得分:0)

您应该将代码放在

module ApplicationHelper
  include Radio::AttributeBuilder

   def fetch_articles
    @articles = Article.limit(10) # Gets 10 articles
  end
end

并在你的助手

中为节目调用此方法