Ruby:通过JSON使用这个表单,它有时会创建很多条目

时间:2015-11-02 20:44:55

标签: ruby-on-rails ruby json

当我使用表单时,使用json更新数据 - 它有时会添加多个条目。一次从3到12!我不明白为什么它会立刻添加这么多记录。

更新:

在下一张图片中,我看到了帖子之间的差异。微小的差异。第一篇文章在参数中有“提交”。第二个双重帖子,没有提交。

Example

我的代码:

#config/routes
post '/employer/proposals/:id' => 'employer/proposals#msg', as: 'employer_comment_on_this_proposal'

#controller
def msg
  @message = ProposalMessage.new(message_params)

  if @message.save
    @messages = @proposal.proposal_messages
    respond_to do |format|
      format.js
    end
  end
end

#view (haml)
div id='messages'
  = render partial: 'messages', locals: { messages: @messages }

div id='message'
  = render 'msgform'

#partials
- @messages.each do |msg|
  msg.message

#form
= simple_form_for :proposal_messages, url: employer_comment_on_this_proposal_path, remote: true, html: { multipart: true } do |f| 
  = f.text_area :message
  = f.button :submit

#msg.js.erb
$('#messages').html("<%= j (render 'messages') %>");
$('#message').html("<%= j (render 'msgform') %>");

如何让表单只添加1条记录......

编辑:更新的代码

编辑2:当我查看服务器时,我发现POST操作被重复多次。

2 个答案:

答案 0 :(得分:2)

def msg   
     @message = ProposalMessage.new(message_params)
    if @message.save    
       @messages = @proposal.proposal_messages                 
       respond_to do |format|
       format.js  
       end 
    end 
  end

答案 1 :(得分:0)

在我的application.js文件中添加unbind函数时,似乎解决了这个问题。

name = "category_id"