2014-06-20 46 views
1

我有軌兩種模式
1.列表軌不換行所有paramters通過

class List < ActiveRecord::Base 
       has_many:list_hd_channel 
    end 

2 listhdchannel

class ListHdChannel < ActiveRecord::Base 
      belongs_to :list 
    end 

我的config/routes文件看起來像這樣

namespace :api do 
     resources :eagles, :defaults => {:format => 'json'} 
     resources :daily13_channel, :defaults => {:format => 'json'} 
     resources :lists, :defaults => {:format => 'json'} 
end 

問題是,當發送一個PUT請求(json)與任何參數,我在控制器中獲取的參數不包含在密鑰列表下。但是,如果我發送一個參數,它是模型「列表」的列,那麼它將被包裝。 REQUEST

http://ip:3000/api/lists/1 
{ 
      "list_name": 1 
} 

服務器端日誌

Started PUT "/api/lists/1" for address at 2014-06-19 17:32:01 -0700 
Processing by Api::ListsController#update as JSON 
Parameters: {"list_name"=>1, "id"=>"1", "list"=>{"list_name"=>1}} 

REQUEST

http://address:3000/api/lists/1 
{ 
      "any_param": 1 
} 

服務器端日誌

Started PUT "/api/lists/1" for address at 2014-06-19 17:34:02 -0700 
Processing by Api::ListsController#update as JSON 
Parameters: {"any_param"=>1, "id"=>"1", "list"=>{}} 

正如你可以看到服務器端日誌不裹「 any_param「在」列表「內,即使URL是用於列表控制器的。任何人都可以幫助我理解爲什麼它不包裝我傳遞的任何參數,只是包裝列表模型中的列(list_name)?

+0

你是如何提出這些要求的? –

+0

@MaurícioLinhares感謝您的回覆。我正在使這些請求谷歌瀏覽器中的高級休息客戶端。 – user3758418

回答