2015-09-03 73 views
0

嗨,我已經嘗試幾乎所有,不能得到這個工作。 title.capitalize部分不顯示。我試着用「+」,但後來我得到錯誤有關預計年底關鍵字鐵軌助手嵌套content_tag與跨度裏面link_to

def mailbox_section(title, current_box, opts = {}) 
    content_tag :li, opts do 
    link_to(conversations_path(box: title.downcase), html_opts = {}) do 
     title.capitalize 
     content_tag :span, :class => "badge" do 
     "2" 
     end 
    end 
    end  
end 

有沒有人有一個想法如何解決這個問題?

+0

一個Ruby塊返回該塊中的最後一行的值。在這種情況下,'title.capitalize'不是最後一行,所以它的值不會被返回。 – jkdev

回答

1

也許字符串插值可以將兩部分都鏈接到鏈接文本字符串中?切換到塊上的單引號和花括號以明確嵌套用法。

def mailbox_section(title, current_box, opts = {}) 
    content_tag :li, opts do 
    link_to(conversations_path(box: title.downcase), html_opts = {}) do 
     "#{title.capitalize} #{ content_tag :span, :class => 'badge' {'2'} }" 
    end 
    end  
end 
+0

語法錯誤,意外的'{',期待tSTRING_DEND ..._ tag:span,:class =>'badge'{'2'}}「... ^ – minohimself

1

謝謝埃德此基礎上,我是能夠做到這一點

def mailbox_section(title, current_box, opts = {}) 
    content_tag :li, opts do 
    link_to(conversations_path(box: title.downcase), html_opts = {}) do 
    "#{title.capitalize} #{content_tag :span, :class => 'badge' do '2' end}".html_safe 
    end 
    end 
end