我正在创建一个拍卖网站,当我运行命令创建一个新的拍卖时,我收到一个错误 .
模型很简单:类Auction <ActiveRecord :: Base has_many:bets has_many:profiles,:through =>:bets
等等 .
控制器:`
类AuctionsController <ApplicationController def new @auction = Auction.new end def create @auction = Auction.new(auction_params)if @ auction.save redirect_to(:action =>'index')
其他渲染('新')
end end private def 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) %>
等每个条目 .
错误消息是:
AuController中的ActionController :: ParameterMissing #found param not found:auction_email
我一直试图用“if params [:status]”解决它,但它返回一个空表单,数据库仍为空 .
Rails版本4.0.2
1 回答
用这个
假设
Auction
是你的模特 .params.require
参数应为:auction
(:modelname),并且在permit
方法中,您可以传递要在数据库中插入/更新的:auction_email
(:attributename)等属性 .