ActionView :: Template :: Error(未定义的方法`已验证'为“十位数电话号码”:字​​符串)

时间:2017-05-05 08:04:37

标签: ruby-on-rails

我有一个名为 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转换。还是一样的错误。我怎样才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

他们是两个独立的领域。

实际电话号码@phone_number.phone_number为字符串

@phone_number.verified是否验证了数字是否为布尔值

@phone_number.phone_number.verified正在String对象上运行方法#verified,并且没有这样的方法。