有一件事是定義標籤,另一件是呈現它們。我會做到以下幾點:
所以,它看起來有點像這樣: #homepage_controller.rb 類HomepageController <的ActionController :: Base的 #選項1.2:包括直接在這裏與下面 #線包括ActsAsMetatagable acts_as_metatagable:標題=> 「標題」,:URL => homepage_url 結束
# lib/acts_as_metatagable.rb
module ActsAsMetatagable
module MetatagableMethods
#option 2.2: insert og_tags method here and declare it as helper method
def og_metatags
@og_tags.map do |k, v|
# render meta tags here according to its spec
end
end
def self.included(base)
base.helper_method :og_tags
end
end
def acts_as_metagabable(*args)
include MetatagableMethods
# insert dirty work here
end
end
# option 1.1: include it in an initializer
# initializers/acts_as_metatagable.rb
ActiveController::Base.send :include, ActsAsMetatagable
# option 2.1: insert og_metatags helper method in an helper
module ApplicationHelper
def og_metatags
@og_tags.map do |k, v|
# render meta tags here according to its spec
end
end
end
感謝@ChuckE。我可以知道在什麼目錄或文件中可以放置上述示例嗎?它只在單個文件中嗎? 我是一個總新手與此.. 我之前做了什麼是每個show.html.erb文件中的每個元標記內#
... – jezureru我通常將mixins放在lib中,並將它們包括無論是直接上課還是初始化。輔助方法是有爭議的。將其直接放置在助手中,或者通過在控制器mixin中定義它並將其保存爲輔助方法,並將其聲明爲輔助方法:http://apidock.com/rails/ActionController/Helpers/ClassMethods/helper_method。我將編輯我的示例。 – ChuckE