2

我剛開始使用rails,我遇到了這個錯誤,並沒有給出很多細節。由於我不熟悉紅寶石,也許這裏有人可以提供幫助。串行器中的ENOENT錯誤

在模型的活動模型序列化程序中發生錯誤。發生

class SecuritySerializer < ActiveModel::Serializer 
    attributes :id, :name, :ticker, :identifier, :weight 
end 

呈現如下:

def index 
    @securities = Security.all 

    render(json: @securities, each_serializer: SecuritySerializer) 
    end 

,我得到的錯誤:

Errno::ENOENT (No such file or directory @ rb_sysopen - C): 
app/serializers/security_serializer.rb:1:in `<top (required)>' 
app/controllers/securities_controller.rb:9:in `index' 

編輯

我使用Windows 8的 64位紅寶石我將它添加到一個名爲serializer_init.rb的文件中,該文件位於config/initializers

ActiveModel::Serializer.config.adapter = :json_api 
+0

請確保您已添加加載ActiveModel':: Serializer.config.adapter =:在'initializer' – Prashant4224

+0

感謝json_api'。我這樣做了,錯誤仍然是一樣的。 –

回答

0

我使用的是版本0.10.0。我降級到0.8.0並刪除了初始化程序。這解決了這個問題。

0

來自分支主人的用戶寶石。

gem 'active_model_serializers', :git => 'git://github.com/rails-api/active_model_serializers.git' 
+0

從分店主使用寶石。 – ivoneijr