2016-07-07 89 views
1

我試圖將用戶角色字段添加到我的PencilBlue網站中的註冊表單中。創建了我自己的插件,複製\controllers\actions\user\sign_up.js並設置getRoutesPencilBlue將新字段添加到註冊表單

現在我得到這個錯誤:Cannot set property 'position' of null.我做了所有需要創建一個新的插件。當核心sign-up.js文件與

var user_type = post.admin['id']; 
     if(user_type == 0){ 
      post.admin  = pb.SecurityService.ACCESS_USER; 
     } else { 
      post.admin  = pb.SecurityService.ACCESS_WRITER; 
     } 

當我的插件使用它我得到一個錯誤,編輯這一切工作正常。我設置這樣的getRoutes

SignUp.getRoutes = function(cb) { 
     var routes = [ 
      { 
       method: 'post', 
       path: '/actions/user/sign_up', 
       auth_required: false, 
       content_type: 'application/json' 
      } 
     ]; 
     cb(null, routes); 
    }; 

該模板HTML文件傳遞後的值就好了。我的插件控制器目錄的結構是平坦的,所以沒有設置核心的子目錄,完全由PB團隊建議。

回答

2

下面這個thread,請加

request_body: ['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data'] 

getRoutes

它看起來就像下面這樣:

SignUp.getRoutes = function(cb) { 
     var routes = [ 
      { 
       method: 'post', 
       path: '/actions/user/sign_up', 
       auth_required: false, 
       content_type: 'application/json', 
       request_body: ['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data'] 
      } 
     ]; 
     cb(null, routes); 
    }; 
+0

謝謝,非常完美! – Grasper