gpt4 book ai didi

ruby-on-rails - 如何检查对象是否存在于 View ROR 中

转载 作者:太空宇宙 更新时间:2023-11-03 17:22:15 24 4
gpt4 key购买 nike

我已经在遥远的经纬度上实现了查询,并像这样在查询中创建了虚拟字段

user        = User.all
if longitude.present? && latitude.present? && fulladdress.present?

distantQuery = "(3959 * acos( cos( radians("+latitude+") ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians("+longitude+")) + sin( radians("+latitude +")) * sin(radians(latitude)))) < " + miles
user = User.select("*, (3959 * acos(cos(radians("+latitude+")) * cos( radians(latitude)) * cos(radians(longitude) - radians("+longitude+")) + sin(radians(" +latitude +")) * sin(radians(latitude)))) as distant").where(distantQuery)
end

当我的 if 条件运行时,远处就会到来,否则它不会到来

<% @result.each do |r| %>
<tr>
<td>
<%= r.distant.present %>

</td>
</tr>

现在看到我的远方来自查询然后它会显示结果,当它不会出现时它会告诉我错误

undefined method `distant' for #<User:0x000000092a6558>

我在 View 中实现了“present”

  <% if r.distant.present? %>
<%= r.distant.to_i %>


<% end %>

但它仍然向我显示错误,我将使用什么来检查远处是否即将到来然后它会显示,否则不会显示?

最佳答案

这应该有效:

 <% if r.respond_to?(:distant) %>

但是这在 View 中逻辑太多,我建议您重构一些代码以在您的 View 中使用非常简单和安全的方法

关于ruby-on-rails - 如何检查对象是否存在于 View ROR 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31023014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com