2016-07-14 68 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

相关问题