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

create ブロックを 2 回ループします。

使用Note.newまたは削除する:remote => trueと、すべて正常に動作しますが、両方を組み合わせるとすべてが壊れます。メモの作成はコンソールで正常に機能しており、どこにもエラーが発生していないため、行き詰まっています。

誰にも何か提案がありますか?

4

2 に答える 2

0

remote true を使用している場合は、デフォルトで js.erb をレンダリングしようとするため、create.js.erb を 1 つ作成する必要があります。

于 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 に答える