将current_user保留在注册页面上

时间:2016-02-28 14:59:53

标签: ruby-on-rails ruby-on-rails-4 devise

我有一个名为“评论”的页面。在该评论页面/表单上,我有评论表单字段和用户注册表单字段。当新用户填写所有字段并点击提交后,它会创建一个即时发布评论的新用户。

我希望重新使用同一页面来发表新评论。如果该用户已登录,则设计重定向用户说“当前登录等等”。我希望用户仍然能够访问该页面(登录时)。我只会隐藏注册字段。这可能与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

我真的必须创建另一个用于评论的控制器吗?

0 个答案:

没有答案