我是 Rails 新手,正在 Rails3(beta4)上构建一个小型测试应用程序。
我在用真实逻辑管理用户会话(以标准方式设置为根据本教程 http://github.com/binarylogic/authlogic_example)
我已经搭建并设置了一个卡片模型(基本上是一个帖子),并为一个设置了基本的活动记录关联belongs_to
and has_many
关系
user.rb
has_many :cards
card.rb
belongs_to :user
我将外键列添加到我的卡片表中:user_id
默认为1
一切都运转得非常好。我已经完成了我的视图,我可以看到关联,卡可以属于不同的用户,这一切都很棒。
But创建新卡时我似乎无法获取当前的活跃用户
卡控制器.rb
def new
@card = Card.new
@card.user = current_user
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @card }
end
end
current_user
在应用程序控制器中定义,可以在这里查看 http://github.com/binarylogic/authlogic_example/blob/5819a13477797d758cb6871f475ed1c54bf8a3a7/app/controllers/application_controller.rb
user_id
正在经过NULL
并且没有任何内容写入数据库user_id
列,将其保留为默认值1
而不是实际登录用户的 ID。
我尝试了明显的事情,比如@user = current_user
这可能是非常简单的事情,但今天是我真正使用 Rails 的第一天 - 谢谢!