使用带有rails 3的on_the_spot gem和新创建的记录时出现问题

时间:2011-04-28 12:08:53

标签: ruby-on-rails ruby-on-rails-3 gem

我使用on_the_spot gem来编辑渲染表中的某个列。这很好用。 但是当我使用AJAX创建新记录并更新表时,我收到以下错误消息:

“ActionView :: Template :: Error(没有路由匹配{:action =>”update_attribute_on_the_spot“,:controller =>”stores_spare_parts“}):”

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

从代码中我看不出明显的错误。我猜错的是所提到的路线确实没有定义。我认为这是不可能的,因为它在index - 视图中工作,但如果索引视图属于不同的控制器,例如商店,并创建store_spare_part去他的控制器,这是一个可能的解决方案。但这只是猜测。

您的路线中还有以下内容:

resources :stores_spare_parts do
  collection do
    post :update_attribute_on_the_spot
  end
end

根据我现在掌握的信息,这是我能想到的唯一合乎逻辑的解释。我希望它有所帮助。

[编辑:发现另一种解决方法]我忘了,但on_the_spot gem可以选择明确指定url。目的是能够提供/使用您自己的方法,但也可以在这种情况下使用。

用法:

on_the_spot_edit post, :title, :url => url_for({:controller => 'stores/store_spare_parts', :action => :update_attribute_on_the_spot})

应该需要它仍然很奇怪,但我希望这是一个有效的解决方法。