2010-10-06 35 views
1

美好的一天......我遇到了很大的麻烦,它让我疯狂。新脚手架没有外键

我的用户创作应该有一些额外的数据,这样的:

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

它正确地显示物种的名单,是的,但是当我做一个提交,它被完全忽略。数据库的表中甚至没有出现该数字,它只是消失。我已经把正确的关联:

class Species < ActiveRecord::Base 
    has_many :users 
end 

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

我也试图操纵控制器:

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

但是,这只是给了我'不进行身份找不到物种,即使参数数组包含一个元素“具有值的species_id'。 我在我的智慧的结尾。相当新的,但这是RESTful?不知道如何让事情变得容易?我喜欢Rails并希望继续。

谢谢您听

+0

您可以在控制器尝试创建用户时从日志中发布相关信息吗? – zetetic 2010-10-07 01:50:37

回答

0

您发现失败,因为params为可能:params[:user][:species_id]但如果有喜欢它应该,应该已经设置了。