我有一个flexigrid组件的视图。当视图调用mickey_mouses_controller #new动作时,flexigrid组件调用mickey_mouses_controller#grid_data动作(通过localhost:3000 / mickey_mouse / grid_data)并正确返回相关的json对象。
但是,当我提交视图以使ActiveRecord验证失败并再次呈现视图时(mickey_mouses_controller #create action),flexigrid组件尝试通过localhost:3000 / grid_data(而不是localhost)调用mickey_mouses_controller#grid_data操作: 3000 / mickey_mouses / grid_data)导致以下错误。
没有路由将“/ grid_data”与{:method =>:post}
匹配
这就是我在routes.rb中的内容:
map.resources :mickey_mouse, :collection => {:grid_data => [:get, :post]}
为什么会发生这种情况,我该如何解决?
感谢任何解决此问题的想法,并提前感谢:)
答案 0 :(得分:0)
你是如何配置flexgrid javascript的?对于您的路线,它应如下所示:
$("#flex1").flexigrid({
url: 'http://localhost:3000/mickey_mouses/grid_data',
// other options ...
});
另一个要解决的问题是添加额外的路线:
map.connect '/grid_data', :controller => 'mickey_mouses', :action => 'grid_data'
如果您在应用程序中需要多个flexigrids,这可能并不理想。