2012-09-11 36 views
0

錯誤:語法錯誤紅寶石 ':',期待 '}' 調用渲染JSON時:

SyntaxError in UsersController#index 
/home/ubuntu/ruby/users/app/controllers/users_controller.rb:7: syntax error, unexpected ':', expecting '}' 
     format.json{render json: UsersDatatable.new(view_context)} 
          ^

我試圖讓數據表插件與我的Rails應用程序(railcast#340)的工作。我一遍又一遍地倒過來,不知道這個錯誤可能來自哪裏。它看上去與http://railscasts.com/episodes/340-datatables?view=asciicast中列出的代碼沒有任何區別(除了我將產品的名稱從「Products」更改爲「Users」),我已經完全打開了牆,我的代碼似乎完全相同,只是名稱不同而已「科技工作(它的工作之前,我試圖啓動建立AJAX部分)

編輯:! 原來我用1.8.7和Rails(3.2.7),但後來升級到1.9.3紅寶石,所以不知道爲什麼如果你使用Ruby 1.8.7那麼語法json: ...將無法​​正常工作,我仍然收到這個錯誤

+0

你使用的是什麼版本的ruby? –

+0

render:json => UsersDatatable.new(view_context)? –

+0

使用紅寶石1.8.7和鋼軌(3.2.7),問題可以從這裏來?我試過使用:json =>但是這也不起作用 – StanM

回答

3

這應該工作而不是(如@傑羅姆京東方指出OU t)

format.json { render :json => UsersDatatable.new(view_context) } 
+1

我對Jerome發表了評論,我也安裝了rvm(之後),但是當我做'ruby -v'時,我使用RVM所做的更改似乎並不堅持,我做錯了什麼? – StanM

+0

嘗試輸入:'哪個ruby',看看你給了什麼。可能你正在運行安裝在系統上的ruby版本。我不使用rvm(已經),但我相信你可以改變你使用的版本:'rvm use 1.9.3'(或者你想使用的任何版本)。 –

+0

無論如何,如何讓rvm使用正確版本的ruby並不是你在這裏問過的問題。顯然,問題出在ruby版本上。如果您在使用rvm或安裝特定版本的ruby時遇到問題,您應該發佈一個單獨的問題(並將其標記爲此問題的答案)。 –