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