【发布时间】:2011-03-10 20:06:59
【问题描述】:
我是来自 php 的 rails 新手,我正在使用 mongodb 学习 rails 3。
我已经到了有一个 html 表单将文本发布到 mongo 的地步,我可以创建并以用户身份登录。
在用户登录中,我创建了一个会话,由 nifty authenticate 创建
session[:user_id] = user.id
现在我尝试在创建新帖子时从会话中获取该 user_id,以便将帖子连接到用户。
在我的posts_controller中,我有如下的create函数。
def create
@post = Post.new(params[:post])
respond_to do |format|
if @post.save
format.html { redirect_to(@post, :notice => 'Post was successfully created.') }
format.xml { render :xml => @post, :status => :created, :location => @post }
else
format.html { render :action => "new" }
format.xml { render :xml => @post.errors, :status => :unprocessable_entity }
end
end
end
但是,我认为我需要在这里传递 user_id,或者将它放在我的模型中会更好。
但尝试任何形式的
@user_id = session[:user_id]
没有返回任何有意义的东西。我是不是走错了路?
我看过一些描述在数据库中存储会话的帖子,但我真的不明白为什么这对于像获取当前登录的用户 ID 这样简单的事情是必要的。
【问题讨论】:
标签: ruby-on-rails session