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

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

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

我怎么解决这个问题?

从代码中我看不出明显的错误。 我猜错的是所提到的路线确实没有定义。 我认为这是不可能的,因为它在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}) 

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