背景和我的研究Ruby on Rails的:從服務器發送JSON數據到客戶端異步
我想從服務器發送數據到客戶端,而不在瀏覽器重新加載頁面。我正在閱讀Rails guide並使用JSON看起來很有希望。 (糾正我,如果我錯了)。
2.2.8渲染JSON
JSON是由許多AJAX庫使用一個JavaScript數據格式。導軌 有內置的支持對象轉換成JSON和渲染 JSON回瀏覽器:
渲染:JSON => @product你並不需要調用to_json要渲染的對象 上。如果您使用:json選項,則渲染將自動爲您調用to_json。
問題
我希望能夠呈現此JSON對象早在瀏覽器端。以下是適用於該問題的代碼。
VideosController
class VideosController < ApplicationController
include VideosHelper
def home
@video = Video.last
end
def next
@next_video = next_video(params[:id])
render :json => @next_video
end
end
next.json.erb
{
"title": "<%= @video.title %>"
"url": "<%= @video.url %>"
"youtube_id": "<%= @video.youtube_id %>"
"genre": "<%= @video.genre %>"
"category": "<%= @video.category %>"
"likes": "<%= @video.likes %>"
"dislikes": "<%= @video.dislikes %>"
"views": "<%= @video.views %>"
"user_id": "<%= @video.user_id %>"
"created_at": "<%= @video.created_at %>"
"updated_at": "<%= @video.updated_at %>"
}
如果我想渲染上home
行動@next_video
JSON對象。我該怎麼做呢?
Will params [:id]可在主頁上使用嗎? –
是的,我可以做到這一點。 –
你沒有遵循REST的原因? –