views:

20

answers:

1

Good day... I have huge trouble with this and it drives me insane.

My user creation should have some additional data, like this:

<div class="field"><%= label_tag 'species', %>
    <%= f.collection_select :species_id, Species.all, :id, :name %></div>

It displays the list of species correctly, yes, but when I do a submit, it is utterly ignored. Not even the number appears in the table of the database, it just disappears. I have put the correct associations:

class Species < ActiveRecord::Base
    has_many :users
end

class User < ActiveRecord::Base
    # ... Other stuff
    belongs_to :species
    # ... Other stuff
end

I have also tried manipulating the controller:

class UsersController < ApplicationController
  def create
    logout_keeping_session!
    @user = User.new(params[:user])
    @user.species = Species.find(params[:species_id])
    # Other stuff
  end
end

But that only gives me 'Cannot find Species without id' even though the params array contains an element 'species_id' with a value. I am at the end of my wits. Quite new to this, but is this RESTful? Not to find out how to get things done that seem easy? I love Rails and would like to continue.

Thanks for listening

A: 

your find fails because the params is probably: params[:user][:species_id] but if it is there like it is supposed, it should be set already, too.

DGM