使用javascript更改表单(创建更新)

时间:2011-05-05 09:08:10

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

我有一个简单的审核系统,用户可以在其中选择多个星标,这会创建对create操作的AJAX调用(如果审核是新的)。

如果评论已存在,我希望它改为调用update操作。

现在,如果页面加载到空白评论,则第一次更改将调用create,但所有后续请求也会调用,直到我完全重新加载页面。

如何在不刷新页面的情况下让create.js.erb将评论表从create更改为update

澄清

如果特定用户第一次进入该页面,他们应该能够创建评论,然后编辑他们自己的评论,而无需刷新页面。我的问题是创建然后更新转换没有发生。

1 个答案:

答案 0 :(得分:0)

我不明白为什么你会这么想。它是否真的实现了只有一个评论的方式,它被越来越多的用户一次又一次地更新?因为一个明显的实现是每次创建一个全新的评论,而不是使用更新操作。

我的意思是:

class ItemReviewsController < ApplicationController
  def create
    @item = Item.find(params[:item_id])
    @item.reviews.create(params[:review])   # TODO check for errors and redirect
  end
end

有路线:

resources :items do
  resources :reviews
end

如果我错了,请详细说明您对该解决方案的动机。