2014-03-12 34 views
0

我创建了一个拍卖网站,当我运行命令创建新拍卖时出现错误。Rails 4.0.2 ActionController :: AuctionsController中的ParameterMissing#未找到参数创建参数:

该模型简单: 类拍卖<的ActiveRecord ::基地 的has_many:投注 的has_many:型材,:通过=>:投注

控制器:`

class AuctionsController < ApplicationController

def @auction = Auction.new 结束

高清创建

@auction = Auction.new(auction_params)

如果@ auction.save

redirect_to(:action => 'index') 

其他

render('new') 

私人

高清auction_params

params.require(:auction_email).permit(:auction_description, :auction_location, :auction_deadline, :auction_title, bets_attributes: [ :bet_size],) 


的new.html.erb具有这样的形式:

<%= form_for(:auction, :url => {:action => 'create'}) do |f| %> 
<%= f.text_field(:auction_title) %> 

等每一个条目。

的错误信息是:

的ActionController :: ParameterMissing在AuctionsController#param所创建未发现:auction_email

我一直在试图与解决它, “如果PARAMS [:状态]”,但它返回一个空的表单和数据库保持空白。

的Rails 4.0.2版

回答

1

使用此

def auction_params  
params.require(:auction).permit(:auction_email,:auction_description, :auction_location, :auction_deadline, :auction_title, bets_attributes: [ :bet_size],) 
end 

假设Auction是你的模型。 params.require参数应为:auction(:modelname),并且在permit方法中,您传递要在数据库中插入/更新的类似:auction_email(:attributename)的方法。

相关问题