【发布时间】:2015-10-17 22:44:51
【问题描述】:
使用宝石Meta Tags
documentation 声明将其放入控制器中:
set_meta_tags :title => 'Member Login',
:description => 'Member login page.',
:keywords => 'Site, Login, Members'
但是,这就是我所做的,不确定我是否需要在它周围包裹一些东西:
class ApplicationController < ActionController::Base
rescue_from CanCan::AccessDenied do |exception|
redirect_to main_app.root_path, :alert => exception.message
end
protect_from_forgery with: :null_session
before_filter :configure_devise_params, if: :devise_controller?
set_meta_tags :og => {
:title => 'The Rock',
:type => 'video.movie',
:url => 'http://www.imdb.com/title/tt0117500/',
:image => 'http://ia.media-imdb.com/rock.jpg',
:video => {
:director => 'http://www.imdb.com/name/nm0000881/',
:writer => ['http://www.imdb.com/name/nm0918711/', 'http://www.imdb.com/name/nm0177018/']
}
}
end
那么在我看来:
<%= display_meta_tags %>
但我收到了错误undefined method 'set_meta_tags'
【问题讨论】:
-
如果您从控制器中使用它,那么至少在
action中定义它,如果没有方法,您将永远得不到任何东西。或者在视图中使用它们。 -
@Deep 你好!所以假设我希望在所有页面上都使用这个元标记,我们只是把它放在一个动作中,但是如果我们调用那个动作,它就行不通了,对吗?我怎么称呼那个动作?我认为有一个之前的方法?但我不确定它到底是什么......或者我想错了吗?也许把它放在
before_filter :some_action? -
@Deep 刚刚尝试了
before_filter,但出现错误:stack level too deep -
那么为什么不在布局中使用呢?
标签: ruby-on-rails ruby ruby-on-rails-4 meta-tags