我已经创建了一个自定义方法,并尝试通过可选的哈希值向其传递值。
但是错误消息向我表明该方法实际上并没有接收我传递的值,因此nil
。
查看:
<%= f.custom_form :height, { item: ‘weight’} %>
方式:
def custom_form(type, additional_items = {} )
class_array = [‘form_control’]
if additional_items
class_array << additional_items[:item]
end
end
错误:
没有将nil隐式转换为String
但我不确定为什么会这样。
如果这是一个新手问题,请提前道歉。
答案 0 :(得分:1)
此行不明确
<%= f.custom_form :height, { item: ‘weight’} %>
因为它可以被解释为一个参数和一个块
尝试使用明确的括号,并且您不需要哈希大括号,它们将被假设
<%= f.custom_form(:height, item: ‘weight’) %>