0
我在UsersHelper以下方法,建立與生成的地址爲什麼我的link_to不顯示目標選項?
module UsersHelper
def random_site(generated_site)
link_to(generated_site , generated_site, target: "_blank")
end
end
我用這個方法幫助我認爲像這樣的鏈接:
= wrap(item.content.gsub(item.origine_url, random_site(item.random_address)))
這裏,例如,如果我的item.content
包含:
foobar text foobar text www.stackoverflow.com
這意味着我item.origine_url == www.stackoverflow.com
內容將被替換爲:
foobar text foobar text www.random_generated_address.com
這裏的問題與target: "_blank"
,我在我的link_to
這是方法幫手前加入,我看不到target="_blank"
在我的HTML鏈接,當我點擊鏈接,它在同一頁面打開!
當我只做:
= random_site(item.random_address)
它工作得很好,所以有什麼用= wrap(item.content.gsub(item.origine_url, random_site(item.random_address)))
的問題?
我的包裹方法是:
def wrap(content)
sanitize(raw(content.split.map{ |s| wrap_long_string(s) }.join(' ')))
end
private
def wrap_long_string(text, max_width = 60)
zero_width_space = "​"
regex = /.{1,#{max_width}}/
(text.length < max_width) ? text :
text.scan(regex).join(zero_width_space)
end
您是否已驗證'item.content'具有'item.origine_url'?我首先測試'gsub',然後'random_site()'和'wrap'。 – vee
@vinodadhikary我找到了解決方案,問題是在wrap方法中,因爲sanitize方法,我想允許「a」標記和「href,target」屬性:) – medBo