2013-05-10 20 views
1

我是一个红宝石初学者,我有一个关于如何使用MySQL与葡萄的问题。每次重新连接到MySQL与葡萄

每次我想使用我的数据库还是有更好的方法来执行此操作时,是否需要拨打Mysql.new()

我试图让新我class API < Grape::APIinitialize但它似乎没有工作...

什么建议吗?

编辑:下面是一些我做了一些代码,并且工作得很好,但我想通过不连接到SQL每次如果可能的话,以改善这一点:

class API < Grape::API 

    before do 
    header "Access-Control-Allow-Origin", "*" 
    @db_co = Mysql.new("localhost", "root", "toto", "youfight_userapp") 
    end 

resource :users do 

    get :toto do 
    result = @db_co.query("SELECT username FROM users WHERE id = 104") 
    result.fetch_row 
    end 

end 
end 
+1

如果您将实例变量添加到您的API类中,它们并不总是以您期望的方式在Grape中访问。例如,你所有的路由都是独立的'Grape :: Endpoint'对象。我建议你在问题中粘贴一些代码,只是你正在尝试做的最小版本。 – 2013-05-10 15:15:43

回答

0

我会强烈建议你使用一些一种ORM。当我们试图按照自己的方式编写我们的API时,遇到了很多问题,最后我们转而使用ORM。我们选择datamapper,但还有很多其他选择。例如sequel似乎相当稳固。