2010-01-02 65 views
0

我有一个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)这是导致以下错误。Rails验证页面导致路由错误

没有路由匹配 “/ grid_data” 与{:方法=>:后}

这是我在我的routes.rb:

map.resources :mickey_mouse, :collection => {:grid_data => [:get, :post]}

为什么会发生这种情况,我该如何解决?

欣赏任何想法来解决此感谢提前:)

回答

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这将可能不是很理想你的申请。

+0

谢谢!我改变flexigrid的url属性从 >>网址: 'grid_data' 是 >>网址: '/ mickey_mouses/grid_data' ,这似乎做到这一点。 – obiwanchinobi 2010-01-02 21:15:20