2014-11-06 53 views
0

在Rails中,我試圖驗證表單數據,如果有效,重定向到該類的索引頁,而不是它的顯示頁面。我此設置如下:驗證重定向到索引後的表單數據(而不是顯示)

在模型:

validates :name, :description, :link, presence:true 

在控制器:

def new 
    @product = Product.new 
    respond_with(@product) 
end 

def create 
    @product = Product.new(product_params) 
    @product.save 
    @products = Product.all 
    render action: "index" 
end 

我遇到的問題是,雖然驗證會阻止產品生成,它仍然會重定向到索引頁面,而不是在新頁面上顯示錯誤。我猜我需要添加一個if語句給控制器,以便只在表單有效時呈現索引,但我不確定那個語句是什麼樣的。

回答

1

create行動應該是這樣的:

def create 
    @product = Product.new(product_params) 
    if @product.save 
    @products = Product.all 
    render action: "index" 
    else 
    render action: "new" 
    end 
end 
相關問題