Ruby on rails Rails:在所有控制器上放置所需变量的位置
我有一个调用Ruby on rails Rails:在所有控制器上放置所需变量的位置,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个调用 feed = Feedzirra::Feed.fetch_and_parse("http://my.rss.feed") @entries = feed.entries 这一部分在我网站80%的页面上被调用——我只是想知道最佳实践是什么:在哪里存储这种类型的变量。非常感谢您的建议。您应该将其放入应用程序控制器的前置过滤器中。通过这种方式,它将在每个操作中分配给每个控制器。您应该将它放入应用程序控制器的before\u过滤器中。这样,它将在每个操作中分配给每个控制器。我猜使用过滤器
feed = Feedzirra::Feed.fetch_and_parse("http://my.rss.feed")
@entries = feed.entries
这一部分在我网站80%的页面上被调用——我只是想知道最佳实践是什么:在哪里存储这种类型的变量。非常感谢您的建议。您应该将其放入应用程序控制器的前置过滤器中。通过这种方式,它将在每个操作中分配给每个控制器。您应该将它放入应用程序控制器的before\u过滤器中。这样,它将在每个操作中分配给每个控制器。我猜使用过滤器-无论之前或之后适用。我猜使用过滤器-无论之前或之后适用。此代码应放在控制器中。最简单的方法就是这样做
class ApplicationController
def fetch_feed_entries
feed = Feedzirra::Feed.fetch_and_parse("http://my.rss.feed")
@entries = feed.entries
end
end
然后,在任何必须发生这种情况的控制器中,您可以编写如下内容:
class PostsController
before_filter :fetch_feed_entries
end
def fetch_feed_entries
session[:feed_entries] ||= Feedzirra::Feed.fetch_and_parse("http://my.rss.feed").entries
@entries = session[:feed_entries]
end
现在,这段代码仍然会为每个请求获取提要。如果那是你想要的,那很好。但是您也可以将提要存储在会话中,因此每个会话只获取一次提要。我不确定这对你是否有意义
然后你会写这样的东西:
class PostsController
before_filter :fetch_feed_entries
end
def fetch_feed_entries
session[:feed_entries] ||= Feedzirra::Feed.fetch_and_parse("http://my.rss.feed").entries
@entries = session[:feed_entries]
end
希望这有帮助。此代码应放在控制器中。最简单的方法就是这样做
class ApplicationController
def fetch_feed_entries
feed = Feedzirra::Feed.fetch_and_parse("http://my.rss.feed")
@entries = feed.entries
end
end
然后,在任何必须发生这种情况的控制器中,您可以编写如下内容:
class PostsController
before_filter :fetch_feed_entries
end
def fetch_feed_entries
session[:feed_entries] ||= Feedzirra::Feed.fetch_and_parse("http://my.rss.feed").entries
@entries = session[:feed_entries]
end
现在,这段代码仍然会为每个请求获取提要。如果那是你想要的,那很好。但是您也可以将提要存储在会话中,因此每个会话只获取一次提要。我不确定这对你是否有意义
然后你会写这样的东西:
class PostsController
before_filter :fetch_feed_entries
end
def fetch_feed_entries
session[:feed_entries] ||= Feedzirra::Feed.fetch_and_parse("http://my.rss.feed").entries
@entries = session[:feed_entries]
end
希望这有帮助