2012-02-06 151 views
8

什麼是在軌應用程序的常規ruby的最佳方式是真正的IOS iPhone應用程序?Ruby on rails服務器應用程序+ IOS iPhone客戶端?

這個想法是爲了娛樂和教育學校項目而構建一個簡單的Iphone應用程序,該應用程序連接到Rails應用程序中的ruby數據。看到一些過時的文章,想問一些建議在這個服務器 - 客戶端模型的紅寶石和一個iOS應用程序。

  • 如何將數據從ruby應用程序移動到iOS應用程序xml?
  • 如何從iOS應用程序與Ruby on Rails應用程序進行交互?
  • 是否有開源例如應用程序或最近更新的資源,你會推薦關於這個主題(寶石,開源項目,教程,資料)

而且這將是很好的網站on Rails和iPhone的應用程序做的紅寶石時結帳? 很想聽到一些反饋意見,我已經調查過,並對上述概念有粗略的想法,但正如在舊資源中所說的那樣。來自您的專家的一些第一手經驗將受到高度讚賞thx!

回答

10

爲Rails後端這樣的常規設置可能是:

認證:使用基本身份驗證sceme驗證到軌後端。爲此,我會使用DeviseCanCan,它們很容易設置並且工作得很好。如果您不希望人們登錄,但仍希望進行身份驗證,則可以使用令牌。

推送通知:使用APN Gem

GET數據:用你的Rails後端的GET控制器,你可以特別要求JSON或只返回JSON作爲默認

def show 
    begin 
    @article = Article.find(params[:id]) 
    rescue Exception => e 
    render :text => "unknown article id", :status => 404 
    else 
    render json: @article 
    end 
end 

如果你想要一個自定義的JSON返回。您可以覆蓋到模型:

#overide default json output 
def as_json(options) 
    # this ignores the user's options 
    super(:only => [:id , :type, :title, :content]) 
end 

創建數據:使用創建控制器的你Rails的後端,你可以只提交就像您一個形式,所以POST與像article[:title]=value領域。如果你喜歡,如果創建成功,你可以返回plain textjson

更新數據:使用您的rails後端的更新控制器。您在此處使用PUT而不是POST

0

除了給出答案:我們有非常好的經驗與Rabl的:https://github.com/nesquena/rabl

我們正在生成的plist相關的文件來將數據發送到iOS設備。