ruby-on-rails – 使用Rails中的Devise 3对’current_user’进行测试

ruby-on-rails – 使用Rails中的Devise 3对’current_user’进行测试,第1张

概述我刚刚开始使用 Ruby和Rails,尝试使用Rails 3进行设计.我在一个帖子列表中有一个循环,每个帖子都有一个关联的用户.我只想显示与当前用户关联的帖子的编辑控件. <% @posts.each do |post| %> <%= link_to "show" %> <% if current_user = post.user %> <%= link_to "edit" %> 我刚刚开始使用 Ruby和Rails,尝试使用Rails 3进行设计.我在一个帖子列表中有一个循环,每个帖子都有一个关联的用户.我只想显示与当前用户关联的帖子的编辑控件.

<% @posts.each do |post| %>  <%= link_to "show" %>  <% if current_user = post.user %>    <%= link_to "edit" %>  <% end %><% end %>

(以上是简化的,从内存中,所以我确信语法不完全正确 – 但你得到了要点.)

如果没有用户登录,则帖子显示为预期 – 显示链接,但没有编辑链接.但是,如果我完全登录,则会显示所有编辑链接,甚至是由其他用户创建的冷杉帖子.

我已在控制台中验证了User.find(1)!= User.find(2),但由于某种原因,无论当前登录的是谁,current_user = post.user的计算结果为true.这与current_user有关吗作为帮助者而不是“真正的”用户对象?如何使用current_user获取ACTUAL当前用户进行比较?

谢谢,

解决方法 你是分配而不是测试 – 使用== – 即

<% if current_user == post.user %>
总结

以上是内存溢出为你收集整理的ruby-on-rails – 使用Rails中的Devise 3对’current_user’进行测试全部内容,希望文章能够帮你解决ruby-on-rails – 使用Rails中的Devise 3对’current_user’进行测试所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1292033.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存