Rails 4 erreur “paramètre est manquant ou si la valeur est vide:” en créer

J'ai regardé plusieurs tutos, le rubis guides, et plusieurs stackoverflow questions. J'ai essayé d'abord avec simple_form et maintenant l'ancienne manière et ne peuvent pas comprendre pourquoi les paramètres ne sont pas transmis.

Contrôleur:

def new
  @topgem = Topgem.new
end

def create 
  @topgem = Topgem.new(topgem_params)

  if @topgem.save
    redirect_to @topgem
  else
    render 'new'
  end

...

 private
    def topgem_params
      params.require(:name).permit(:url, :description, :downloads, :last_updated)
    end

Modèle:

class Topgem < ActiveRecord::Base

  has_many :votes
  has_many :users, through: :votes

  validates :name, presence: true, uniqueness: true, :length => {
    :minimum =>2,
    :maximum =>50}

  validates :url, presence: true
  validates :description, presence: true 
  validates :downloads, numericality: { only_integer: true }
end

nouveau.html.erb

<%= form_for(@topgem) do |f| %>


  <%= f.label :name %>:
  <%= f.text_field :name %><br />

  <%= f.label :url %>:
  <%= f.text_field :url %><br />

   <%= f.label :description %>:
  <%= f.text_field :description %><br />

   <%= f.label :downloads %>:
  <%= f.number_field :downloads %><br />


  <%= f.submit %>
<% end %>

L'erreur que j'obtiens:

ActionController::ParameterMissing at /topgems
param is missing or the value is empty: name

voici sélectionnez les variables d'instance:

Variables D'Instance

@_action_has_layout 
true

@_routes    
nil

@_headers   
{"Content-Type"=>"text/html"}

@_status    
200

@_params    
{"utf8"=>"✓", "authenticity_token"=>"Gx/UwvcvWZYWAUHxWGYlUQB/PNNUniBpCjlM1WEHAm+luYl94Kky5Ae9Ur40YVtrN2ebEEX8C0G3Cewu/SJSow==", "topgem"=>{"name"=>"bfgf", "url"=>"dd", "description"=>"ff", "downloads"=>"343"}, "commit"=>"Create Topgem", "controller"=>"topgems", "action"=>"create"}
utilisation params.require(:topgem).permit(:name, :url, :description, :downloads, :last_updated)
Merci pour le modifier, @Sur Freund .
qui fonctionne, @devmarwen. Je vous remercie.

OriginalL'auteur jeffhale | 2015-02-22