首页 文章

Rails 4.0.2 ActionController :: AuctionsController中的ParameterMissing#未找到创建param:

提问于
浏览
-1

我正在创建一个拍卖网站,当我运行命令创建一个新的拍卖时,我收到一个错误 .

模型很简单:类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 回答

  • 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)等属性 .

相关问题