2016-05-15 48 views
0

當我嘗試創建一個用戶的Rails ParameterMissing錯誤,Rails的返回ParameterMissing錯誤:上創建行動

ActionController::ParameterMissing in UserController#create 
param is missing or the value is empty: user 

我的控制器

class UserController < ApplicationController 

def create  
    @user = User.new(user_params) 
    render json: @user 
end 

private 
    def user_params 
    params.require(:user).permit(:fame, :lame, :mobile) 
    end 
end 

我的用戶模型

class User < ActiveRecord::Base 
    self.table_name = "user" 
end 

什麼我做錯了嗎?

+2

能否請您提供以下形式的代碼? – 2016-05-15 09:57:56

+0

我沒有表格我會將它用作我的應用程序的api – iamkdev

回答

2

檢查您的日誌中發送給您的控制器的參數。最有可能的是,由您的視圖發送的參數散列不包括:user,鍵。要解決,你需要確保你的form_for正確地與用戶對象的命名空間:

form_for @user do |f| 
    # ... 
end 

您還可以使用as重點明確設置您的PARAMS的:user關鍵。

form_for @object, as: :user, method: :post do |f| 
    # ... 
end 

更新

由於使用postman發送數據的提問,向服務器發送的數據應被正確格式化,像這樣:

user[firstName] 
1

感謝 @Fabio和@Anthony 當你問到表單時,我實際上是ealized與郵遞員發送參數實際上,我是不正確的,他們應該像 user[firstName]

更新 你如何發送PARAMS它實際上是在你deepns。 我送爲

user[firstname]所以我得到這樣params[:user][:firstName]
如果我發送類似firstname因此,這將是params[:firstName]