2008-12-06 67 views
2

我正在一個軌道應用程序(我有一些使用軌道的經驗)。但是,這次我使用RESTful來構建它。我想知道如何以REST風格驗證我的模型?我的意思是當用戶將數據輸入表單時,但模型驗證阻止了模型的創建,這是一種REST風格的方式,將用戶重定向回new動作,輸入的數據仍然存在於表單中?平靜的軌道模型驗證

回答

3

喬希的例子代碼 - 你提到想知道如何將用戶重定向到創造,如果它出錯了。如果您使用的是早期版本的Rails,請確保您使用的是form_for helper,而不是早期的start_form_tag。控制器代碼看起來非常相似,你怎麼可以用來...例如(一個客戶模型):

def create 
    @customer = Customer.new(params[:customer]) 
    if @customer.save 
    flash[:notice] = 'Customer was successfully created.' 
    redirect_to(@customer) 
    else 
    render :action => "new" 
    end 
end 

你會發現,現在轉發到在事務創建記錄的redirect_to(@customer) 。但在失敗時,它是同樣的舊渲染:行動。

0

無論是以RESTful還是常規方式開發,後端實現通常保持不變。就像在非REST風格的應用程序中一樣,您只需使用用戶試圖創建的實例重新呈現帶有表單的創建頁面。真正的REST,你所做的只是創建一組統一的URL來響應不同的HTTP請求,其他一切都保持不變。

4

REST隻影響你的控制器和路由!

RESTful Rails應用程序中的模型驗證與任何其他Rails應用程序中的驗證相同。

0

使用腳手架發電機,以查看寧靜控制器