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