0

我一直在尝试设置一个小 twitter 应用程序来自学 ruby​​ on rails,我有一个登录页面,可以像这样工作并存储用户

    session[:user_id] = user.id

我可以在视图中使用它,但我正在尝试基于它创建关系,以便以基本形式在新页面上创建的推文链接到当前会话用户。

由于某种原因,我无法弄清楚该怎么做。

4

2 回答 2

0

您可以使用current_user(例如)方法:

def current_user
  @current_user ||= User.find_by_id(session[:user_id])
end

如果你已经有了这个,你可以创建帖子:

@post = current_user.posts.create(params[:post])

当然,您还应该在创建帖子之前检查是否有任何用户登录,否则您将拥有NoMethodError.

于 2013-06-08T16:04:59.753 回答
0

请参阅 devise gem https://github.com/plataformatec/devise 在您的视图和控制器中设计提供 current_user 和 user_session 方法

于 2013-06-08T20:50:29.943 回答