<% @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’进行测试所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)