这是我的视图文件,我在参数中发送用户ID,
<%= form_for :user, :url=>{:action=>'update'},:method=>"get",:html=>{:class=>'form-horizontal'} do |f|%>
<div class="form-group">
<label class="col-md-4 control-label" for="textinput">Admin</label>
<div class="col-md-4">
<%= f.radio_button :is_admin, 'true', :checked => true %> Yes
<%= f.radio_button :is_admin, 'false' %> no
<%= f.hidden_field :userid, value: @id %>
</div>
</div>
<%= f.submit ('save') %>
<% end %>
但是当我尝试在我的控制器中访问它时,我得到以下错误(找不到记录):
我在我的控制器方法中找到这样的用户:
def update
@users = User.all
@uid = params[:userid]
@users = User.find_by_id!(@uid)
if @users.update_attributes(user_params)
flash[:notice] = "User updated successfully."
redirect_to :action=>'view'
else
flash[:notice] = "Error while updating user."
render 'edit'
end
end
private
def user_params
params.require(:user).permit(:is_admin,:is_member)
end
end
答案 0 :(得分:2)
而不是:
@uid = params[:userid]
尝试:
@uid = params[:user][:userid]