我一直在尝试设置一个小 twitter 应用程序来自学 ruby on rails,我有一个登录页面,可以像这样工作并存储用户
session[:user_id] = user.id
我可以在视图中使用它,但我正在尝试基于它创建关系,以便以基本形式在新页面上创建的推文链接到当前会话用户。
由于某种原因,我无法弄清楚该怎么做。
我一直在尝试设置一个小 twitter 应用程序来自学 ruby on rails,我有一个登录页面,可以像这样工作并存储用户
session[:user_id] = user.id
我可以在视图中使用它,但我正在尝试基于它创建关系,以便以基本形式在新页面上创建的推文链接到当前会话用户。
由于某种原因,我无法弄清楚该怎么做。
您可以使用current_user
(例如)方法:
def current_user
@current_user ||= User.find_by_id(session[:user_id])
end
如果你已经有了这个,你可以创建帖子:
@post = current_user.posts.create(params[:post])
当然,您还应该在创建帖子之前检查是否有任何用户登录,否则您将拥有NoMethodError
.
请参阅 devise gem https://github.com/plataformatec/devise 在您的视图和控制器中设计提供 current_user 和 user_session 方法