我有一个名为“评论”的页面。在该评论页面/表单上,我有评论表单字段和用户注册表单字段。当新用户填写所有字段并点击提交后,它会创建一个即时发布评论的新用户。
我希望重新使用同一页面来发表新评论。如果该用户已登录,则设计重定向用户说“当前登录等等”。我希望用户仍然能够访问该页面(登录时)。我只会隐藏注册字段。这可能与Devise有关吗?
评论控制器类似于:
class CommentsController < Devise::RegistrationsController
...
def new
...
end
end
路线:
devise_scope :user do get "/comments/new" => "comments#new" end
评论表单(新):
<%= form_for(resource, as: resource_name, url: comment_path(resource_name)) do |f| %>
# hidden fields which passed as params for the comments
# div with registration fields that uses f.email etc
# divs for the comment fields that uses text_area_tag
<% end %>
注册控制器:
class Users::RegistrationsController < Devise::RegistrationsController
def create
super do |resource|
# the passed in params which assign as variables
resource.save!(Comment.create(...) #params vars goes here etc
end
end
end
我真的必须创建另一个用于评论的控制器吗?