0

在搜索了一段时间并将其缩小到一个特定问题之后,我决定最终注册并向各位好心人寻求帮助。开始:

我创建了一个表格:

= form_for @note, :remote => true do |f|

在控制器内使用 .build(或 .create):

class NotesController < ApplicationController
  before_filter :authenticate_user!
  respond_to :html, :js

  def create
    @note = current_user.notes.build(params[:note])
    if @note.save
      respond_with @note, :location => root_url
    end
  end

它循环两次创建块。

如果我使用Note.new或删除:remote => true,那么一切正常,但两者的结合会破坏一切。笔记创建在控制台中工作正常,它不会在任何地方抛出任何错误,所以我被卡住了。

有人有什么建议吗?

4

2 回答 2

0

如果您使用的是 remote true 那么您需要创建一个 create.js.erb 因为默认情况下它会尝试渲染 js.erb

于 2013-09-13T06:57:01.327 回答
0

据我了解,您在新操作中创建了一个空白对象,并在保存创建操作之前使用参数值填充该对象。尝试这个:

class NotesController < ApplicationController
  before_filter :authenticate_user!
  respond_to :html, :js

  def new
    @note = Note.new
  end

  def create
    @note = current_user.notes.new(params[:note])
    respond_to do |format|
      if @note.save
       format.js
      end
    end
  end

end
于 2013-09-13T07:19:59.287 回答