Mason Jones によって投稿されたこのソリューションは、私にとってはうまくいきます。
アプリケーションコントローラーで:
def self.tag_helper
TagHelper.instance
end
class TagHelper
include Singleton
include ActionView::Helpers::TagHelper
include ActionView::Helpers::AssetTagHelper
end
次に、次のようなこと、またはその他必要なことを行うことができます。
active_scaffold :mything do |config|
config.columns = [:name, :number, :active, :description]
config.update.link.label = tag_helper.image_tag('document_edit.png', :width => "30")
config.delete.link.label = tag_helper.image_tag('document_delete.png', :width => "30")
config.show.link.label = tag_helper.image_tag('document.png', :width => "30")
list.sorting = {:name => 'ASC'}
end
ApplicationController で TagHelper の Singelton インスタンスを作成しています。これにより、必要な場所にヘルパーが提供されます。彼は自分の投稿でそれを説明しています。
また、これを使用してモデルを拡張します (画像が存在しない場合にデフォルトの画像を返す、より柔軟な image_tag ヘルパーを作成します。たとえば、person.small_image は、tag_helper を使用する person モデルのインスタンス変数です)。そのために、ActiveRecord::Base を拡張する Monkey Patch 初期化子に同じコードを入れました。次に、モデル内から ActiveRecord::Base.tag_helper を呼び出します。これは少し厄介ですが、私はレールに慣れていません。おそらくもっときれいな方法があります。
それが役立つことを願っています。