【发布时间】:2011-03-08 21:39:25
【问题描述】:
我是 Rails 新手,我在 rails3 (beta4) 上构建了一个小型测试应用程序。
我正在使用 Authlogic 来管理用户会话(以标准方式设置为 per this tutorial)
我已经搭建并设置了一个卡片模型(基本上是一个帖子),并为belongs_to 和has_many 关系设置了基本的活动记录关联
user.rb
has_many :cards
card.rb
belongs_to :user
我将外键列添加到卡片表中:user_id,默认为 1
一切都非常好。我已经完成了我的观点,我可以看到关联,卡可以属于不同的用户,这一切都很棒。
但是创建新卡时我似乎无法获取当前活跃用户
cards_controller.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 在应用程序控制器中定义,available to view here
user_id 正在传递 NULL 并且没有任何内容写入数据库 user_id 列,使其默认为 1 而不是实际登录用户的 ID。
我尝试了@user = current_user之类的明显的东西
这可能是超级简单的事情,但今天是我第一次真正使用 rails 的日子 - 谢谢!
【问题讨论】:
标签: ruby-on-rails ruby activerecord associations ruby-on-rails-3