ruby-on-rails-3 - 语法错误 "syntax error, unexpected tFID, expecting keyword_then or ' ;' or '\n' “检查对象是否存在时

标签 ruby-on-rails-3

在我的 Rails 应用程序中,我需要检查一个对象是否存在,如果存在,我需要将该对象的纬度和经度属性分配给两个名为纬度和经度的外部变量。

my controller code 
      def query

      if ( Coordinates.where(city :params[:show]).exists?) equal? 1) then

                           a=Coordinates.where(city: params[:show])

                              latitude=a.latitude

                             longitude=a.longitude

                        end

但是当我在浏览器中运行程序时,尽管我多次尝试更改语法,但我收到语法错误我收到的错误是“语法错误,意外的 tFID,期望关键字_then 或 ';'或“\n””。任何人请帮助我如何解决这个问题,提前致谢

最佳答案

我有几句话:

  • 在 Ruby 中,if 的语法通常是(没有 then)

    if condition
      code
    end
    
  • where 返回一个 ActiveRecord 关联,因此它是一个集合,因此您不能调用 a.latitude 等。尝试 Cooperatives.where(city: params[:show]).first 或类似的东西。

  • 您定义了一个名为equal 的方法吗??如果没有,至少缺少一个 .

  • if 语句或多或少没用。

     def query
       a = Coordinates.where(city: params[:show])
       b = a.first
       if a.count == 1
         latitude = b.latitude
         longitude= b.longitude
       else
         # do something else
       end
     end
    

关于ruby-on-rails-3 - 语法错误 "syntax error, unexpected tFID, expecting keyword_then or ' ;' or '\n' “检查对象是否存在时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17896309/

相关文章:

ruby-on-rails-3 - 使用 dateAxisRenderer 行的 jqplot 不呈现,任何想法为什么?

ruby-on-rails - 在浏览器中渲染模板并更改 url 字符串?

ruby-on-rails - Rails 3 中的 fields_for 问题

ruby-on-rails-3 - link_to中的特殊字符

ruby-on-rails - Twitter如何根据登录与否获得两个不同的主页? - rails 3.1

ruby-on-rails - 在 Rails 中出现两次 Flash 消息

ruby-on-rails - 有没有一种特别优雅的方法来使用 Rails 3/Arel 进行计数查询?

ruby-on-rails - 有哪些学习 Rails 代码库内部结构的好资源?

mysql - rails - 数字比较比文本比较快多少

ruby-on-rails - 获取 ActiveRecord::Relation 的父级