0
我構建了一些數據通過jQuery的$。員額送,我送看起來像這樣的數據:這是從jQuery的轉換,其編制的數據對象Rails的形式PARAMS問題
authenticity_token: LxHlgi1WU8o0DtaNuiQOit/e+HlGR2plVcToHUAhA6I=
crews[0][boat_id]: 2
crews[0][crew][]: 10
end_time: 1280408400
start_time: 1280404800
:
- 創建DOM中找到的每個「船員」,稱爲船員陣列[]。
- 然後,我循環播放DOM中的工作組,創建一個對象並存儲它的船ID
- 然後我爲其船員成員列表創建另一個數組,然後將其添加到船員的對象中並推送到'船員陣列。 (該JS是有點長,可以張貼如果需要的話)
然後在我的控制,我有:
def create
@outing = Outing.create(
:club => current_user.club,
:title => 'Outing',
:start_time => Time.at(params[:start_time].to_i),
:end_time => Time.at(params[:end_time].to_i)
)
@outing.save
Rails.logger.debug(params[:crews].inspect)
params[:crews].each_with_index do |crew,i|
Rails.logger.debug(crew.inspect)
@crew = Crew.create(
:boat_id => crew[:boat_id].to_i,
:outing_id => @outing.id
)
@crew.save
crew[:crew].each do |c|
@cu = CrewUsers.create(
:crew_id => @crew.id,
:user_id => c.to_i
)
end
end
render :nothing => true
end
兩個檢查報表打印是這樣的:
{"0"=>{"crew"=>["10"], "boat_id"=>"2"}}
["0", {"crew"=>["10"], "boat_id"=>"2"}]
和我得到這個錯誤:
TypeError (Symbol as array index):
對我來說,船員不應該是一個在dexed數組,這就是問題所在。但我也可能完全錯誤。我在做什麼錯誤或如何解決它的任何想法?
你是一個血腥的明星,謝謝!我有一種感覺,那是不對的。 有趣的是,我想知道爲什麼'crew'子數組沒有被解析爲哈希通過jQuery/Rails – amr 2010-07-28 13:32:57