Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用rails发送JSON数据_Ruby On Rails_Ruby_Json_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 如何使用rails发送JSON数据

Ruby on rails 如何使用rails发送JSON数据,ruby-on-rails,ruby,json,ruby-on-rails-3,Ruby On Rails,Ruby,Json,Ruby On Rails 3,您好,我正在尝试创建一个自定义控制器,该控制器将方法返回为json 这是我的控制器 respond_to :json def rates @event = Event.find(params[:id]) respond_with @event.avg_rating end 现在我用以下方法得到了我的模型 # returns the average rating for that event def avg_rating @avg = self.ratings.ave

您好,我正在尝试创建一个自定义控制器,该控制器将方法返回为json

这是我的控制器

respond_to :json
  def rates
    @event = Event.find(params[:id])
    respond_with @event.avg_rating
  end
现在我用以下方法得到了我的模型

# returns the average rating for that event
def avg_rating
  @avg = self.ratings.average(:stars)     
  @avg ? @avg : 0
end
然而,当我得到回复时,我得到了以下信息:

3.75
我想要的是一个标准的json响应
{“event”:“3.75”}


但我不确定如何简单地将其转换为这样的答案,您将需要一个实际的对象来呈现为json。散列通常是最简单的。并且您将希望使用render而不是respond_

    render json: {:event => @event.avg_rating}

您需要将实际对象呈现为json。散列通常是最简单的。并且您将希望使用render而不是respond_

    render json: {:event => @event.avg_rating}

谢谢你,简单和我正在寻找的,将接受答案一旦允许谢谢你,简单和我正在寻找的,将接受答案一旦允许