1
我正在學習Rails,並且有點卡住了。如果嵌套數組存在,我該如何返回true
我使用簡單導航gem並構建自定義渲染器,如果存在配置選項,我想將引導程序圖標添加到HTML元素。我收到一個錯誤「參數數量錯誤(0代表1)」,我認爲這與我的方法有關。我試圖將方法定義爲:
content_tag('span', (content_tag(:i, nil, :class => item.html_options[:opts][:icon]) + item.name if have_icon?), link_options_for(item).except(:method))
def have_icon?(item)
!item.html_options[:opts][:icon].blank?
end
我不知道我是否正確編寫了content_tag。其實我確信我沒有。我也認爲我得到「錯誤的參數數量」,因爲item.html_options[:opts]
或item.html_options[:opts][:icon]
丟失,因此指出我的方法寫得不好。
有人可以幫忙嗎?
編輯:
我重寫了代碼和它的作品,但我的問題仍然有效,所以我可能會在編碼更好。所以我的問題是,have_icon?
方法是否正確,或者如果[:opts]
和[:opts][:icon]
都存在,我將如何重寫它以返回布爾值?
這是工作代碼:
content_tag('span', name_with_icon(item), link_options_for(item).except(:method))
def name_with_icon(item)
if item.html_options[:opts]
if item.html_options[:opts][:icon]
content_tag(:i, nil, :class => item.html_options[:opts][:icon]) + item.name
else
item.name
end
else
item.name
end
end
您的方法需要一個參數。你的電話沒有提供。 –
那是顯而易見的...謝謝!我不能相信我錯過了這一點。 –