2012-10-16 53 views
0

我與污損更換一些施普雷核心模板代碼,這一切運作良好,直到我試圖使它更爲定製的。我怎樣才能使自定義HTML在狂歡與污損

Deface::Override.new(
    :virtual_path => "spree/shared/_products", 
    :replace => "span.price", 
    :text => "<%= link_to truncateproduct.display_price + '<span class=\"purchase-suggestion\">BUY NOW</span>', :length => 20), product, :class => 'price selling', :itemprop => \"price\", :title => product.name + ': ' + product.display_price %>", 
    :name => "product_price" 
) 

上面我打算讓價格文本成爲一個鏈接,並且還包括一個爲了個人造型目的包裹在一個範圍內的'立即購買'文本。

這使得這種方式: $15.99<span class="purchase-suggestion">BUY NOW</span>

我怎樣才能讓污損評估HTML而不是寫入字符串的?

我試圖通過使兩個不同的污損文件,一個在那裏我換跨度的鏈接,而另一種我跨度添加到分兩步這樣:insert_bottom。在我看來,使用Deface不可能兩次更改相同的元素 - 這是正確的嗎?


解決方案 感謝您對渠道的回答和對話。這是解決方案:

Deface::Override.new(
    :virtual_path => "spree/shared/_products", 
    :replace => "span.price", 
    :text => "<%= 
        link_to ('<span>' + product.display_price + '</span> <span class=\"purchase-suggestion\">BUY NOW</span>').html_safe, product, 
        :class => 'price selling', 
        :itemprop => 'price', 
        :title => product.name + ': ' + product.display_price 
       %>", 
    :name => "product_price" 
) 

.truncate用於任何理由,.html_safe做的工作。

回答