Mode cerita
Baru saja mulai mempelajari RoR, namun dalam waktu singkat saya perlu menambahkan fungsionalitas yang mirip dengan Memuat gambar dari LDAP (versi tidak kompatibel) ke dalam proyek kami. Proyek terbengkalai, dan saya tidak dapat menemukan info/dokumen terkait, jadi saya meminta bantuan di sini. Solusi, tutorial, apa pun bisa berhasil.
Catatan eror
$ ruby bin/rake redmine:plugins RAILS_ENV="production"
rake aborted!
NoMethodError: undefined method `alias_method_chain' for ApplicationHelper:Module
Did you mean? alias_method
...
Patch monyet yang perlu diperbarui
plugin\redmine_gemavatar\lib\application_helper_gemavatar_patch.rb :
require 'application_helper'
module GemAvatarPlugin
module ApplicationAvatarPatch
def self.included(base)
base.send(:include, InstanceMethods)
base.class_eval do
alias_method_chain :avatar, :gemavatar
end
end
module InstanceMethods
def avatar_with_gemavatar(user, options = { })
if Setting.gravatar_enabled? && user.is_a?(User)
options.merge!({:ssl => (defined?(request) && request.ssl?), :default => Setting.gravatar_default})
options[:size] = "64" unless options[:size]
avatar_url = url_for :controller => :pictures, :action => :delete, :user_id => user
return "<img class=\"gravatar\" width=\"#{options[:size]}\" height=\"#{options[:size]}\" src=\"#{avatar_url}\" />".html_safe
else
''
end
end
end
end
end
Upaya saya / Artikel
Saya menemukan artikel bagus di sini Cara Mengganti alias_method_chain, tapi saya tidak begitu yakin bagaimana cara menerapkan gaya prepend
ke patch monyet plugin Redmine. Tidak bisa membuatnya berfungsi :/