Ruby on rails 4 Rails 4:尝试获取对象类名并对结果运行条件代码
考虑以下代码:Ruby on rails 4 Rails 4:尝试获取对象类名并对结果运行条件代码,ruby-on-rails-4,model,Ruby On Rails 4,Model,考虑以下代码: <div class="score"><%= model.class.name %></div> <div class="results"> <% @search.each_hit_with_result do |hit, model| -%> <div class="result"> <h2><%= hit.stored(:t
<div class="score"><%= model.class.name %></div>
<div class="results">
<% @search.each_hit_with_result do |hit, model| -%>
<div class="result">
<h2><%= hit.stored(:title) %></h2>
<div class="score"><%= hit.score %></div>
<div class="score"><%= model.class.name %></div>
<% if model.class.to_s = "User" %>
Print this.....
<% end -%>
<% end -%>
</div>
</div>
在我的应用程序中,我有:
<div class="score"><%= model.class.name %></div>
在以下代码中:
<div class="score"><%= model.class.name %></div>
<div class="results">
<% @search.each_hit_with_result do |hit, model| -%>
<div class="result">
<h2><%= hit.stored(:title) %></h2>
<div class="score"><%= hit.score %></div>
<div class="score"><%= model.class.name %></div>
<% if model.class.to_s = "User" %>
Print this.....
<% end -%>
<% end -%>
</div>
</div>
打印这个。。。。。
给出:
<div class="score"><%= model.class.name %></div>
未定义的方法`to_s='#
因为model.class.name
已经是字符串
,所以不需要到
。同时,你的条件应该是
<div class="score"><%= model.class.name %></div>
<div class="score"><%= model.class.name %></div>
在这种情况下,请始终尝试调试,以查看对象中的这些内容<代码>检查在这种情况下非常方便。您可以使用:
<div class="score"><%= model.class.name %></div>
puts model.inspect
puts model.class.inspect
这些将使您对对象的结构有更多的了解
<div class="score"><%= model.class.name %></div>
要解释出现的错误,请执行以下操作:
<div class="score"><%= model.class.name %></div>
undefined method `to_s=' for #<Class:0x007f886b9c65a8>
未定义的方法`to_s='#
您错误地使用了赋值运算符,该运算符试图在类上调用
to_s=
方法,但未实现。这就是为什么你得到了未定义的方法
to_s=`错误。我真的需要为浪费你的时间而道歉。多么愚蠢的错误啊。
<div class="score"><%= model.class.name %></div>