我有一个名为 PhoneNumber 的有效记录,其中phone_number
为整数,verified
为布尔列。所以我试图在js.erb
模板中传递交流条件,如下所示:
$('#hidden_phone_number').val('<%= @phone_number.phone_number %>' )
<% if @phone_number.phone_number.verified %>
<%= puts "Hello world"%>
<%else%>
$('#send-pin').hide()
$('#verify-pin').fadeToggle()
$('#pin').focus()
<%end%>
首先,我检查了@phone_number.phone_number
的值。它给予了价值。它的验证布尔值为true
。因此,当我在代码中执行上述更改并执行时,它会在以下位置显示错误:
<% if @phone_number.phone_number.verified %>
说
ActionView::Template::Error (undefined method
已验证为“10位数电话号码”:字符串):`
我尝试使用to_i
转换。还是一样的错误。我怎样才能解决这个问题?
答案 0 :(得分:1)
他们是两个独立的领域。
实际电话号码@phone_number.phone_number
为字符串
@phone_number.verified
是否验证了数字是否为布尔值
@phone_number.phone_number.verified
正在String对象上运行方法#verified
,并且没有这样的方法。