2013-04-01 74 views
0

我正在嘗試爲手機做一個應用程序,並且希望將Rails用作我的後端。我非常喜歡Activerecord,並且我想通過JSON API提供他的查詢界面中最常用的方法(查找,第一個,最後一個等等)。我認爲這應該是一個寶石,但沒有找到它。通過JSON API擴展Activerecord

隨着STANDAR軌道腳手架我只能查詢像一個特定的記錄:

http://myhost:3000/mycontroller/index/1.json 

我也想知道,是否有可用的請求的任何語法,可以指定任何類型的過濾器,像「1到10之間的編號」 或 「CREATED_DATE> = 2013年1月1日」,等等

感謝所有幫助

回答

1

時退房has_scope寶石。它不會將ActiveRecord發現者方法暴露給你的API(這是非常不安全的),但它提供了一些神奇的幫助者來將AR範圍公開給它。

+0

不是我正在尋找的東西,但如果沒有發現問題的寶石可以是一個很好的方法。謝謝 – Fernando

+0

我過去所做的是正確的我的索引行爲是這樣的:'@ foo = Foo.where(params [:q])'然後傳遞給q參數的任何東西都作爲AR查詢選項傳遞。 ..這真的很危險,但是......我不建議按照你的要求去做。 – cpuguy83

+0

是的,我認爲它也很危險。暴露Sql Injection攻擊中的where方法。但我不想公開所有方法,只是其中的一部分。我知道我可以爲每個我想要公開的方法制作一個動作,但是我正在尋找一個有助於解決這個問題的寶石,以免重複我自己:)感謝@ cpuguy83 – Fernando