Pourquoi suis-je argument de gamme d'exception

Im rails débutant sur Rails 4. Im essayant de créer une liste de vin qui prend le nom de la cave et de l'année de la bouteille. Voici mon formulaire

<%= form_for @wine do |f| %>
    <%# render "errors", object: @wine %>
    <div class="form-group input-group input-group-lg">
        <%= f.text_field :name, placeholder: "Enter the winery name", class: "form-control input-lg" %>
    </div>
    <div class="form-group input-group input-group-lg">
        <%= select_year(Date.today, start_year: Time.now.year, end_year: Time.now.year - 90, field_name: :year, prefix: :wine) %>
    </div>
    <div class="form_group input-group">
        <%= f.submit "Add wine", class: "btn btn-success" %>
    </div>
<% end %>

Voici mon contrôleur

class WinesController < ApplicationController
  before_action :set_wine, only: [:show, :edit, :update, :destroy]

  def index
    @wines = Wine.all
  end

  def new
    @wine = Wine.new
  end

  def create
    @wine = Wine.new(wine_params)
    if @wine.save
        flash[:notice] = "Successfully created..."
        redirect_to @wine
    else
        flash.now[:error] = "There was a problem"   
        render "new"
    end
  end

  def show
  end

  def edit
  end

  def update
    if @wine.update(wine_params)
        redirect_to @wine
    else
        flash[:error] = "Something went wrong"
        render "edit"
    end
  end

  def destroy
    @wine.destroy
    redirect_to wines_path
  end

  private

    def set_wine
        @wine = Wine.find(params[:id])
    end

    def wine_params
        params.require(:wine).permit(:name, :year)
    end
end

J'ai mes vins de table avec un nom:chaîne de caractères de la colonne et d'un an:colonne datetime

Chaque fois que j'essaie de créer un nouveau vin, je reçois un argument out of range exception et il met en évidence @wine = Wine.new(wine_params) dans mon action de création. Ce que je fais mal?

Mon journal

Started GET "/wines/new" for 127.0.0.1 at 2013-09-04 10:55:54 -0700
Processing by WinesController#new as HTML
Rendered wines/_form.html.erb (2.0ms)
Rendered wines/new.html.erb within layouts/application (2.6ms)
Rendered layouts/_header.html.erb (0.2ms)
Rendered layouts/_footer.html.erb (0.1ms)
Completed 200 OK in 10ms (Views: 9.3ms | ActiveRecord: 0.0ms)
Started GET "/assets/comingsoonbg.png" for 127.0.0.1 at 2013-09-04 10:55:54 -0700
Started GET "/wines/new" for 127.0.0.1 at 2013-09-04 10:55:54 -0700
Processing by WinesController#new as HTML
Rendered wines/_form.html.erb (2.1ms)
Rendered wines/new.html.erb within layouts/application (2.7ms)
Rendered layouts/_header.html.erb (0.2ms)
Rendered layouts/_footer.html.erb (0.1ms)
Completed 200 OK in 10ms (Views: 9.8ms | ActiveRecord: 0.0ms)
Started POST "/wines" for 127.0.0.1 at 2013-09-04 10:55:59 -0700
Processing by WinesController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"FCd3wvCov+mugnJuzwplKD/eVskJKgxweh1mK0pG2wM=", "wine"=>{"name"=>"kjkljhk", "year"=>"2013"}, "commit"=>"Add wine"}
Completed 500 Internal Server Error in 1ms
ArgumentError (argument out of range):
app/controllers/wines_controller.rb:13:in `create'
Rendered /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/actionpack-4.0.0/lib/action_dispatch/middleware/templates/rescues/_source.erb (0.7ms)
Rendered /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/actionpack-4.0.0/lib/action_dispatch/middleware/templates/rescues/_trace.erb (0.9ms)
Rendered /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/actionpack-4.0.0/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.9ms)
Rendered /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/actionpack-4.0.0/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (16.2ms)

Mon schéma pour les vins dans le schéma.rb

create_table "wines", force: true do |t|
t.datetime "year"
t.datetime "created_at"
t.datetime "updated_at"
t.string   "name"
end
Quel est le contenu de wine_params?
Quel est votre journal dire? Ce qui est retourné à partir de wine_params?
mon wine_params sont définis dans le fond de mon fichier de contrôleur et de Mauvais après le journal avec ce qui se passe après la tentative de créer un vin
Le year colonne contient un entier ou une chaîne, pas un Jour, pas vrai?
Vous pouvez poster votre Vin modèle et le Vin du schéma du schéma.rb

OriginalL'auteur oobie11 | 2013-09-04