【发布时间】:2013-06-08 15:56:09
【问题描述】:
我一直在尝试设置一个小 twitter 应用程序来自学 ruby on rails,我有一个登录页面,可以像这样工作并存储用户
session[:user_id] = user.id
我可以在视图中使用它,但我正在尝试基于它创建关系,以便以基本形式在新页面上创建的推文链接到当前会话用户。
由于某种原因,我不知道该怎么做。
【问题讨论】:
标签: ruby-on-rails ruby session
我一直在尝试设置一个小 twitter 应用程序来自学 ruby on rails,我有一个登录页面,可以像这样工作并存储用户
session[:user_id] = user.id
我可以在视图中使用它,但我正在尝试基于它创建关系,以便以基本形式在新页面上创建的推文链接到当前会话用户。
由于某种原因,我不知道该怎么做。
【问题讨论】:
标签: ruby-on-rails ruby session
你可以有current_user(例如)方法:
def current_user
@current_user ||= User.find_by_id(session[:user_id])
end
如果你已经有了这个,你可以创建帖子:
@post = current_user.posts.create(params[:post])
当然,您还应该在创建帖子之前检查是否有任何用户登录,否则您将拥有NoMethodError。
【讨论】:
见设计宝石https://github.com/plataformatec/devise 在视图和控制器中设计提供的 current_user 和 user_session 方法
【讨论】: