Ruby on rails 更新用户集合
在我的应用程序中,我要求通过一个提交按钮同时更新一组用户。但是在我的控制台中,每当我按submit时,我都会收到错误Ruby on rails 更新用户集合,ruby-on-rails,arrays,ruby,crud,Ruby On Rails,Arrays,Ruby,Crud,在我的应用程序中,我要求通过一个提交按钮同时更新一组用户。但是在我的控制台中,每当我按submit时,我都会收到错误 不允许的参数:1,3,4,2 不允许的参数:1、3、4、2 不允许的参数:1、3、4、2 不允许的参数:1、3、4、2 不允许的参数:1、3、4、2 Update_集合看起来是这样的: 参数:{“utf8”=>“✓", "真实性令牌“=>”GWT/QI3w/uqcsTAy58iPRfb4UqVNn5+CEXQUKX72UJ9W3T0CRKKKOVDC4ZVVS7UH88JTQ7A
不允许的参数:1,3,4,2
不允许的参数:1、3、4、2
不允许的参数:1、3、4、2
不允许的参数:1、3、4、2
不允许的参数:1、3、4、2
Update_集合看起来是这样的:
参数:{“utf8”=>“✓", "真实性令牌“=>”GWT/QI3w/uqcsTAy58iPRfb4UqVNn5+CEXQUKX72UJ9W3T0CRKKKOVDC4ZVVS7UH88JTQ7AWENORT/qww37eQ==”,“用户”=>{“用户名”=>“鲍勃”,“星期日”=>“8”,“星期一”=>“7”,“星期二”=>“09”,“星期三”=>“986”,“星期四”=>“765”,“星期五”=>“321”,“星期六”=>“432”,“3”=>“用户名”=>“星期日”、“星期二”=>“星期一”、“迈克”=>“星期二”=>“星期一”=>“星期一”,“星期三”=>“243”,“星期四”=>“986”,“星期五”=>“7536”,“星期六”=>“07”},“4”=>{“用户名”=>“乔治”,“星期日”=>,“星期一”=>,“星期二”=>,“星期三”=>,“星期五”=>,“星期六”=>,“管理员”,“星期日”=>,“星期一”=>,“星期二”、“星期三”=>,“星期四”、“星期五”=>,“星期六”提交“=>”提交“}
我假设在它声明的地方,“user”=>{“1”=>{etc..}
是我的问题的根源,但是考虑到这些是动态哈希,我不知道如何允许它们,即使在允许它们之后,我也不希望它们被更新,因为它们不属于单独的用户模型,而只属于数组本身
用户\u controller.rb
class UsersController < ApplicationController
# before_filter :authenticate_user!
before_action :set_user, only: [:show, :edit, :update, :destroy]
# GET /users
# GET /users.json
def index
@users = User.all
end
# GET /users/1
# GET /users/1.json
def show
end
# GET /users/new
def new
@user = User.new
end
def update_collection
@users = User.all
@users.each do |user|
if collect_params[:password].blank?
collect_params.delete(:password)
collect_params.delete(:password_confirmation)
end
successfully_updated = if needs_password?(user, collect_params)
user.update(collect_params)
else
user.update_without_password(collect_params)
end
#respond_to do |format|
#if user.update(collect_params)
#format.html { redirect_to user, notice: 'User was successfully updated.' }
#format.json { render :show, status: :ok, location: user }
# else
#format.html { render :edit }
# format.json { render json: user.errors, status: :unprocessable_entity }
#end
#end
end
end
# GET /users/1/edit
def edit
end
# POST /users
# POST /users.json
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
format.html { redirect_to @user, notice: 'User was successfully created.' }
format.json { render :show, status: :created, location: @user }
else
format.html { render :new }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /users/1
# PATCH/PUT /users/1.json
def update
if user_params[:password].blank?
user_params.delete(:password)
user_params.delete(:password_confirmation)
end
successfully_updated = if needs_password?(@user, user_params)
@user.update(user_params)
else
@user.update_without_password(user_params)
end
respond_to do |format|
if @user.update(user_params)
format.html { redirect_to @user, notice: 'User was successfully updated.' }
format.json { render :show, status: :ok, location: @user }
else
format.html { render :edit }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
protected
def needs_password?(user, params)
params[:password].present?
end
# DELETE /users/1
# DELETE /users/1.json
def destroy
@user.destroy
respond_to do |format|
format.html { redirect_to users_url, notice: 'User was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_user
@user = User.find(params[:id])
end
def collect_params
params.require(:user).permit(:role_id, :username, :password, :password_confirmation, :monday, :tuesday, :wednesday, :thursday, :friday, :saturday, :sunday)
end
# Never trust parameters from the scary internet, only allow the white list through.
def user_params
params.require(:user).permit(:role_id, :username, :password, :password_confirmation, :monday, :tuesday, :wednesday, :thursday, :friday, :saturday, :sunday)
end
end
class UsersController
我的表格代码:
<%= form_tag update_collection_users_path, method: :put do |form| %>
<% @users.each do |user| %>
<%= fields_for "user[]", user do |f| %>
<% if @user.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2>
<ul>
<% @user.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :username %><br>
<%= f.text_field :username %>
</div>
<div class="field">
<%= f.label :sunday %><br>
<%= f.text_field :sunday %>
</div>
<div class="field">
<%= f.label :monday %><br>
<%= f.text_field :monday %>
</div>
<div class="field">
<%= f.label :tuesday %><br>
<%= f.text_field :tuesday %>
</div>
<div class="field">
<%= f.label :wednesday %><br>
<%= f.text_field :wednesday %>
</div>
<div class="field">
<%= f.label :thursday %><br>
<%= f.text_field :thursday %>
</div>
<div class="field">
<%= f.label :friday %><br>
<%= f.text_field :friday %>
</div>
<div class="field">
<%= f.label :saturday %><br>
<%= f.text_field :saturday %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
<% end %>
<%= submit_tag "Submit" %>
<% end %>
禁止保存此用户:
您可以共享您的表单代码吗?使用表单更新了代码将此行从更改为和用户ID以允许或粘贴日志结果即使在允许用户ID后,我仍然会收到日志错误未允许参数:用户ID未允许参数:用户ID未允许参数:用户ID未允许参数:用户ID未允许参数:用户ID未允许参数允许的用户ID?如下:def user\u params.require(:user.pe)