简体   繁体   English

语法错误,意外的 tCONSTANT,期待 ')'

[英]syntax error, unexpected tCONSTANT, expecting ')'

I wrote a method and I received an error.我写了一个方法,我收到一个错误。 This is my code:这是我的代码:

def workouts_number
  @workout_block = BlockWorkout.all
  @number = Hash.new(0)

  @workout_block.each do |record|
    @current_workout_block = BlockWorkout.group(:workout_id).order(COUNT(workout_id) DESC).limit(5)
    @name = @current_workout_block['block_name']
    @number[@name] += 1
  end

  render :json => {data: {unprocessed: @workout_block, processed: @number}}
end

Then I received this error message:然后我收到了这个错误信息:

{
  "status": 500,
  "error": "Internal Server Error",
  "exception": "#<SyntaxError: /home/gabriel_rc/Área de Trabalho/Atlas/atlas-academia-back/app/controllers/workouts_controller.rb:146: syntax error, unexpected tCONSTANT, expecting ')'\n...d).order(COUNT(workout_id) DESC).limit(5)\n...                           ^~~~\n/home/gabriel_rc/Área de Trabalho/Atlas/atlas-academia-back/app/controllers/workouts_controller.rb:174: syntax error, unexpected end, expecting end-of-input>",
  "traces": {
    "Application Trace": [
      {
        "exception_object_id": 27087800,
        "id": 0,
        "trace": "app/controllers/workouts_controller.rb:146: syntax error, unexpected tCONSTANT, expecting ')'"
      },

It says that occured a Syntax error at line 146. Line 146 as follows:它说在第 146 行发生了语法错误。第 146 行如下:

@current_workout_block = BlockWorkout.group(:workout_id).order(COUNT(workout_id) DESC).limit(5)

How can I solve this problem?我怎么解决这个问题?

Just add quotes around your SQL snippet so that is is handled as a String by Ruby.只需在 SQL 代码段周围添加引号,以便由 Ruby 将其作为字符串处理。

@current_workout_block = BlockWorkout.group(:workout_id).order("COUNT(workout_id) DESC").limit(5)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 MYSQL - 语法错误,意外的“@”,期待 $end - MYSQL - syntax error, unexpected '@', expecting $end 解析错误:语法错误,意外的“来自”(T_STRING),预期为“]” - Parse error: syntax error, unexpected 'from' (T_STRING), expecting ']' SQL语法错误-预期(或如 - Sql syntax error - expecting ( or as 红宝石,sphinxql:语法错误,意外的QUOTED_STRING,期望CONST_INT或&#39;-&#39;靠近&#39;5&#39;)和`active` IN(&#39;1&#39;)AND… - ruby on rails , sphinxql: syntax error, unexpected QUOTED_STRING, expecting CONST_INT or '-' near ''5') AND `active` IN ('1') AND … Laravel controller 显示语法错误,意外变量“$user”,期待“function”或“const” - Laravel controller shows syntax error, unexpected variable "$user", expecting "function" or "const" 消息:语法错误,意外&#39;(&#39;,期望标识符(T_STRING)或变量(T_VARIABLE)或&#39;{&#39;或&#39;$&#39; - Message: syntax error, unexpected '(', expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' PHP解析错误:解析错误,意外的“ *”,期望为“}” - PHP Parse error: parse error, unexpected '*', expecting '}' 在 boolean 模式下带有空字符串的 FULLTEXT INDEX 给出错误“语法错误,意外 $end,期望 FTS_TERM 或 FTS_NUMB 或 '*'” - FULLTEXT INDEX with empty string in boolean mode giving error “syntax error, unexpected $end, expecting FTS_TERM or FTS_NUMB or '*'” SQL查询错误-语法错误,接近1,期望值为% - SQL query error - Syntax error near 1 expecting % 语法错误,意外的&#39;&#39;(T_ENCAPSED_AND_WHITESPACE),预期在查询中使用“喜欢”子句(%)期间出现“-”或标识符(T_STRING) - syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) its coming during using 'like clause (%) in query
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM