Od dłuższego czasu (bo tylko w weekendy) próbuję stworzyć serwis wykorzystujący składnię wiki. Wiem że jest Textile ale mi zależy na “zgodności” z TikiWiki.
Udało mi się już zbudowanie parsera i stworzyłem mojego pierwszego gem-a. Większość rzeczy działa ale nie mogę sobie poradzić z grafikami zawartymi w tym gemie. W sieci znalazłem informacje, że należy z tego gema zrobić Engine żeby system widział assety i tak też zrobiłem. Tylko jak się do tych assetów odwoływać?
[code]module Wiki
module Plugins
class Caution
def render(text,options={})
@options = {:title=>''}.merge(options)
content = "<div class=\"caution_box\">\n"
content += “”
content += image_tag("wiki/caution.png",:style=>'float:left;')
content += "\n<div class=\"caution_box\">\n"
content += "<p><b>#{@options[:title]}</b></p>\n" unless @options[:title].blank?
content += text
content += "\n</div>\n</div>\n"
content
end
end
end
end[/code]
Jak widać próbowałem asset_path i image_tag ale zawsze dostaję komunikat, że taka metoda nie istnieje w klasie Wiki::Plugins::Caution. Faktycznie nie istnieje. Próbowałem zatem
class Caution
include ActionView::Helpers::AssetTagHelper
(...)
Niestety mam teraz komunikat
undefined local variable or method `config' for #<Wiki::Plugins::Caution:0x7f2524f91c58 @options={:title=>""}>
Jak sobie z tymi assetami radzić?