Проблема в связывании определенной роли с использованием настроенного представления контроллера spree - PullRequest
0 голосов
/ 27 августа 2018

Я новичок в веселье.Я создал настроенный клиент контроллера (не создал его модель).Контроллер и все соответствующие виды, которые я создал, были созданы с помощью уже существующего пользовательского контроллера и видов, созданных Spree.В «новом» виде я отображаю форму для создания нового пользователя.

Теперь, когда Я выбираю роль для пользователя (как при создании, так и при обновлении), он автоматически выбирает идентификатор роли как 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

Независимо от того, какую роль я выбираю для пользователя, его роль отправляет первый идентификатор.

Хотя этот код отлично работает для уже существующего пользователя Spree.

Пожалуйста, посмотрите на мой запрос.Это было бы очень полезно.Спасибо.Пожалуйста, поправьте меня, если я ошибаюсь.

...