ruby-on-rails-4 - 使用自定义狂欢控制器的视图关联特定角色的问题
问题描述
我是新来的狂欢。我创建了一个定制的控制器客户端(没有创建它的模型)。我创建的控制器和所有相应的视图都是借助 Spree 创建的预先存在的用户控制器和视图。在“新”视图中,我呈现一个表单来创建一个新用户。
现在,当我为用户选择一个角色时(在创建和更新时),它会自动选择角色 id 为 1。但相同的表单在“用户”部分工作正常。相关代码:
内部客户端模型:
module Spree
module Admin
class ClientsController < ResourceController
.
# Client does not have its own model
.
def new
@user = Spree.user_class.new
end
def edit
@roles = Spree::Role.all
@user =Spree.user_class.find_by(id: params[:id])
user = @user
end
def update
@user = Spree.user_class.find_by(id: params[:id]) #added to remove null class error
if params[:user][:password].blank? && params[:user][:password_confirmation].blank?
params[:user].delete(:password)
params[:user].delete(:password_confirmation)
end
if @user.update_attributes(user_params)
set_roles
flash.now[:success] = Spree.t(:account_updated)
end
render :edit
end
.
.
.
end
无论我为用户选择哪个角色,它都会发送第一个 id。
虽然此代码对于已经存在的 Spree 用户来说工作得很好。
请参阅我的查询。这将是一个很大的帮助。谢谢你。如果我错了,请纠正我。
解决方案
推荐阅读
- sql - 将变量名替换为同一列并与其他表连接
- python - 通过系统窗口使用 Python Selenium System 上传文件
- ios - iOS:允许用户从应用取消订阅
- javascript - 通过 react-image-crop 模块获取裁剪后的图像
- c - 调用函数时如何修复“预期表达式”错误?
- apache-spark - pyspark RDD - 特定键的左外连接
- python - 如何使用 random.seed 在 Python 中创建多个不同的初始伪随机数?
- asp.net - 如何在 VB 中提交表单时在新选项卡 ('target=_blank') 中打开链接?
- python - 如何用神经网络拟合数学公式?
- ruby-on-rails - 有没有相当于 before_action :authenticate_user!对于活动管理员?