美好的一天......我遇到了很大的麻烦,这让我感到疯狂。
我的用户创建应该有一些额外的数据,如:
<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
但这只会让我'找不到没有id的物种',即使params数组包含一个带有值的元素'species_id'。 我的智慧结束了。相当新的,但这是RESTful吗?不是要弄清楚如何轻松完成任务?我喜欢Rails,并希望继续。
感谢您的聆听
答案 0 :(得分:0)
你的发现失败了,因为params可能是:params[:user][:species_id]
但是如果它就像它应该的那样,它也应该已经设置了。