我已经通过Youtube_IT创业板学习了很多rails,现在我必须插入
@client = YouTubeIt::Client.new(:dev_key => "AI39 .. bGqx")手动输入到每个控制器的def索引中,以便它可以出现在index.html.erb中。我注意到Rails有一个application_controller.rb,并认为它可能类似于布局的应用程序文件,那里的任何代码都是通用的。
我尝试在application_controller中创建一个索引方法,并在其中插入dev键,但没有成功。我能为所有控制器设置一次的方法是什么?
谢谢!
发布于 2015-03-04 08:58:29
可以将以下内容添加到您的application_controller.rb中
before_action :set_youtube_client, only: [:index]
private
def set_youtube_client
@client = YouTubeIt::Client.new(:dev_key => 'AI39 ... bGqx')
end或您可以在aplication_controller.rb中添加以下内容
def youtube_client
@youtube_client ||= YouTubeIt::Client.new(:dev_key => 'AI39 ... bGqx')
end
helper_method :youtube_client然后在视图中使用youtube_client而不是@client
https://stackoverflow.com/questions/28850118
复制相似问题