gpt4 book ai didi

ruby-on-rails - rails 4 : Assigning Roles via UI Using Rolify Gem

转载 作者:数据小太阳 更新时间:2023-10-29 09:03:36 25 4
gpt4 key购买 nike

我正在使用基于 Devise、CanCanCan 和 Rolify 的应用程序来处理私有(private)资源。

使用 Rolify ( https://github.com/RolifyCommunity/rolify ) 为用户分配不同的角色。

我想授予网络管理员访问权限,然后他可以通过 UI 将多个角色分配给用户。

用户 Controller :

def update
@user = User.find(params[:user_id])

params[:user][:role_ids] ||= []

if @user.update_attributes(params[:user_id])
redirect_to users_path, :flash => { :success => 'User was successfully updated.' }
else
redirect_to users_path, :flash => { :error => 'User was unsuccesfully updated.' }
end

结束

查看:

可通过路线访问:

get "users/:user_id/edit" => 'user#edit', :as => :edit_user

HTML:

<%= form_for @user do |f| %>
<% Role.all.each do |role| %>
<%= check_box_tag "user[role_ids][]", role.id, @user.role_ids.include?(role.id) %>
<%= role.name %><br />
<% end %>
<%= f.submit %>
<% end %>

enter image description here

路线:

match "users/:user_id" => 'user#show', via: [:get], :as => :user

但是,当我单击“更新用户”时,出现以下错误:

enter image description here

知道如何解决这个问题以使我的表单正常工作吗?

最佳答案

您有通往 show 操作的路径,可通过 get 访问。您还应该有一个到 update 操作的路径,可通过 patch 访问。您可以使用 resources 轻松实现此目的:

resources :users, only: [:show, :update, :edit]

关于ruby-on-rails - rails 4 : Assigning Roles via UI Using Rolify Gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29339591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com