Ruby on rails 当用户使用_comments gem注销时显示注释
我正在使用Desive创建可以发表评论的用户。他登录后一切正常。但当来宾用户(未登录)尝试访问该页面时,不会显示评论。我试图直接呈现“_comment.html.erb”,但这引发了一个错误 基本上,当用户没有登录时,他应该能够查看评论。当他登录时,他应该能够发表新的评论Ruby on rails 当用户使用_comments gem注销时显示注释,ruby-on-rails,ruby,devise,Ruby On Rails,Ruby,Devise,我正在使用Desive创建可以发表评论的用户。他登录后一切正常。但当来宾用户(未登录)尝试访问该页面时,不会显示评论。我试图直接呈现“_comment.html.erb”,但这引发了一个错误 基本上,当用户没有登录时,他应该能够查看评论。当他登录时,他应该能够发表新的评论 是否有快速解决方法?Desive将创建一些帮助程序,用于控制器和视图中。要设置具有用户身份验证的控制器,只需在执行操作之前添加此项(假设您的设备型号为user): 因此,您可以在注释的控制器中编写 class Comments
是否有快速解决方法?Desive将创建一些帮助程序,用于控制器和视图中。要设置具有用户身份验证的控制器,只需在执行操作之前添加此项(假设您的设备型号为
user
):
因此,您可以在注释的控制器中编写
class CommentsController < ApplicationController
before_action :authenticate_user!, :except => [:show] # which will applied authentication except defined action
.....
.....
end
您可以在控制器中提及操作。与authenticate_用户过滤器类似,除了[show]之外,如果您正在使用授权,您可能应该查看您授予来宾用户访问权限的方式。
class CommentsController < ApplicationController
before_action :authenticate_user!, :except => [:show] # which will applied authentication except defined action
.....
.....
end
<% if user_signed_in? %>
<%= render "comments/form" %> # new comment's form
<% end %>