加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Ruby on Rails中引用当前用户

发布时间:2020-12-17 03:30:17 所属栏目:百科 来源:网络整理
导读:所以我在 http://railscasts.com/episodes/250-authentication-from-scratch使用了“从头开始验证”railscast中的逻辑,它似乎工作,我可以在页面顶部贴上“你登录为…”的消息. 但是,如果我想做一些像提交帖子的日志这样的事情,我会碰到一点墙. 我不想通过新
所以我在 http://railscasts.com/episodes/250-authentication-from-scratch使用了“从头开始验证”railscast中的逻辑,它似乎工作,我可以在页面顶部贴上“你登录为…”的消息.

但是,如果我想做一些像提交帖子的日志这样的事情,我会碰到一点墙.

我不想通过新帖子中的隐藏字段提交它,因为我猜这有安全问题.

我不想在http://ruby.railstutorial.org/ruby-on-rails-tutorial-book的rails教程中使用“属于”逻辑,因为虽然它在技术上可以在这里工作,但我将来可能需要记录谁创建了一个条目,其中“属于”关系不存在.

我试图做的是在我的post模型中创建一个“before save”函数调用,它指定一个“created_by”值,但我猜模型不能访问根据认证railscast创建的current_user.

所以现在我不知道怎么做这样的事情.

编辑:Ruby的新手,ERD的新手,所有这一切,但我所说的属于关系不存在的是,如果有一个评级系统的帖子,每个评级都属于一个帖子.但我也想记录提交每个评级的人.

解决方法

如果我很清楚你遇到的问题是你在模型中使用current_user helper方法无法看到哪个用户当前是loggen,你可以在Post控制器中设置post的created_by属性然后保存它,类似于:

def create
  @post = Post.new(params[:post])
  @post.created_by = current_user.id
  if @post.save
    redirect_to whereyouwant_url,:notice => "Post successfully created"
  else
    render "new"
  end
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读