我試圖使用Rails標籤幫助器在我的一個視圖中創建一個列表項,但當調用tag.li
和nil
參數時,我得到了ArgumentError
。爲什麼在調用帶有零參數的Rails標記助手時會出現ArgumentError?
的代碼中的錯誤出現的部分看起來像這樣:
<ul>
<%= tag.li('Some text', logged_in? ? {class: 'active'} : nil) %>
</ul>
和錯誤消息說:只有當logged_in?
回報false
和nil
作爲參數傳遞出現 wrong number of arguments (given 3, expected 1..2)
問題。我試着用下面的代碼,並能夠得到同樣的錯誤:
<ul>
<%= tag.li('Some text', nil) %>
</ul>
如果tag.li
第二個參數是可選的,爲什麼我收到這個錯誤?
當然,我可以簡單地做<%= tag.li('Some text', logged_in? ? {class: 'active'} : {}) %>
,但不知道這個錯誤背後的原因真的讓我感到困擾。
我假設你的意思 <%= tag.li( '一些文本',LOGGED_IN {類: '活躍'}?{})%> 是的,我想,它工作得很好。但是,這並不能解釋爲什麼Rails告訴我我試圖傳遞3個參數。 –