Ruby on rails:Session / current_user,db-insert

时间:2011-10-14 15:24:17

标签: ruby-on-rails ruby-on-rails-3

我遇到插入数据库的问题。首先解释我的小博客应用程序。

模特:用户och帖子。 http://pastie.org/2694864 帖子有列:标题,正文,用户ID

3个控制器: 会话,应用程序(使用current_user)和PostController:http://pastie.org/2695386

我的登录会话似乎有效但是当登录用户应该写帖子时,数据库无法识别任何user_id。它只是设置为零。 rails console:

=> #<Post id: 17, title: "hello", body: "hello world", created_at: "2011-10-14 14:54:25", updated_at: "2011-10-14 14:54:25", user_id: nil>

我想这是在后置控制器第88行,这应该是固定的,但我无法弄明白。 我也尝试过:

    @post = Post.new(params[:post], :user_id => session[:user_id])

但是user_id仍设置为nil!

这是我的第一个应用程序,所以对于详细的回复,我会非常感激。

坦!

1 个答案:

答案 0 :(得分:0)

问题是你传递Post.new两个参数(在这种情况下是两个哈希),但它只需要一个参数。试试这个:

@post = Post.new(params[:post].merge!(:user_id => session[:user_id]))