2016-07-14 33 views
0

編輯:我設法解決這個問題。 Ship控制器處於Ship方法中。如果我對這個問題有所瞭解,我的路線就會打電話給「獲取產品/發貨」,而不會顯示視圖,而是調用該方法。重新排列之後,一切正常。Rails的form_for表單發送零而不讓顯示視圖

這必須是一個我可以忽略的初學者,但是我在form_for中使用rails 4.2.1應用程序創建了一個窗體。

我的問題是,我無法實際查看窗體,它不會顯示任何內容。更糟糕的是,不是看到頁面視圖,而是簡單地將nil傳遞給方法,並給我錯誤,因爲我的方法顯然不適用於nil。

我試圖玩弄路由文件無濟於事,有沒有簡單的東西,我錯過了,只會導致一種形式,以這種方式表現?我諮詢了官方指南和hartl教程,但我什麼都沒有。

編輯:我的產品控制器低於:

class ProductsController < ApplicationController 



def new 
     @product = Product.new 
    end 

def create 
    @product = Product.new(product_params) 
end 

def show 
    @product = Product.find(params[:code]) 
end 


def ship 
    @product = Product.find_by(code: params[:code]) 
    @product.quantity -= 1 
    if @product.save 
     respond_to do |format| 
      format.html {} 
      format.json{} 
     end 
    end 
end 

private 
     def product_params 
     params.require(:product).permit(:code, :product, :quantity) 
    end 

end 

和我的船舶方法示意如下:

<%= form_for(@product) do |f| %> 
     <%= f.label :code %> 
     <%= f.text_field :code %> 

     <%= f.submit "Submit", class: "btn btn-primary" %> 
<% end %> 

我將是任何幫助非常感激。我一直在盯着這個這麼長時間,並且必須有一些我錯過的東西。

+1

你可以發佈你的代碼嗎? –

+1

顯示您的路線 – nikkypx

回答

0

爲html.erb,注入到紅寶石你需要等號的HTML,像這樣

<%= for_for

爲HAML它只是一個等號(=)

=的form_for

+0

不,我有等號。 – Mascasc