Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails设计添加管理路由_Ruby On Rails_Ruby On Rails 3_Devise - Fatal编程技术网

Ruby on rails Rails设计添加管理路由

Ruby on rails Rails设计添加管理路由,ruby-on-rails,ruby-on-rails-3,devise,Ruby On Rails,Ruby On Rails 3,Devise,我不确定最好的方法是什么,但在某种程度上我把自己搞糊涂了。我试图做的是让管理员进入用户配置文件并修改项目 路线 控制器 class RegistrationsController < Devise::RegistrationsController def update # required for settings form to submit when password is left blank @customer = Customer.find(current_c

我不确定最好的方法是什么,但在某种程度上我把自己搞糊涂了。我试图做的是让管理员进入用户配置文件并修改项目

路线

控制器

class RegistrationsController < Devise::RegistrationsController
  def update
    # required for settings form to submit when password is left blank
    @customer = Customer.find(current_customer.id)
    if @customer.update_attributes(params[:customer])
      set_flash_message :notice, :updated
      # Sign in the customer bypassing validation in case his password changed
      sign_in @customer, :bypass => true
      redirect_to after_update_path_for(@customer)
    else
      render "edit"
    end
  end

  def edit
   @customer = current_customer
  end
end
class UsermanagementsController < ApplicationController
  def index
    @usermngmts = Customer.paginate(:page => params[:page], :per_page => 30)
  end
  def show
    @usermngmts = Customer.find(params[:id])
  end
end
类注册控制器true
将(@customer)重定向到更新后路径
其他的
渲染“编辑”
结束
结束
定义编辑
@客户=当前客户
结束
结束
控制器

class RegistrationsController < Devise::RegistrationsController
  def update
    # required for settings form to submit when password is left blank
    @customer = Customer.find(current_customer.id)
    if @customer.update_attributes(params[:customer])
      set_flash_message :notice, :updated
      # Sign in the customer bypassing validation in case his password changed
      sign_in @customer, :bypass => true
      redirect_to after_update_path_for(@customer)
    else
      render "edit"
    end
  end

  def edit
   @customer = current_customer
  end
end
class UsermanagementsController < ApplicationController
  def index
    @usermngmts = Customer.paginate(:page => params[:page], :per_page => 30)
  end
  def show
    @usermngmts = Customer.find(params[:id])
  end
end
class用户管理控制器params[:page],:per_page=>30)
结束
def秀
@usermngmts=Customer.find(参数[:id])
结束
结束
视图注册/edit.html.erb

# i am trying to designate this one for public view
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put })  do |f| %>
...
<% end %>
#我正试图指定这一个供公众查看
资源名称:url=>注册路径(资源名称),:html=>{:method=>:put})do | f |%>
...
这很有效

观点 usermanagements/index.html.erb

<% @usermngmts.each do |usrmngmt| %>
    <%= usrmngmt.incomplete_name %>
    <%= link_to ... i would like to go to the edit of usermanagement controller but get usermngents/userid/edit %>
    </div>
<% end%>


不混合这两个控制器的最佳方法是什么我不太清楚您想做什么,但是如果您想为管理员提供一个单独的控制器来管理注册(或客户),您可以创建一个“管理员”命名空间,然后使用管理员/注册和管理员/客户控制器提供定制的路由和操作,访问权限仅限于管理员

有关名称空间的详细信息,请单击此处: