0

私は正常に動作する単純な Rails アプリを持っていますが、ajax を使用するように変更したいと考えています。Ajax を使用して他の部分をアップグレードしましたが、コントローラーのコードに問題があります。そう:

1) remote: true を form_for に追加しました。

2) コントローラーのコードに問題があります。現在、次のようになっています。

def create #saving new materials
    @material = Material.new(params[:material])
    @material.user_id = current_user.id if current_user
    if @material.save
      flash[:success] = "Content Successfully Created"
      redirect_to @material
    else
      render 'new'
    end
end 

問題は、respond_to ブロックが必要であることはわかっていますが、どこに配置すればよいかわかりません。私は初心者なので、これがばかげた質問である場合は申し訳ありません。

参考までに - js コードは問題ありません。

4

1 に答える 1

1

このようなものが動作するはずです:

def create #saving new materials
  @material = Material.new(params[:material])
  @material.user_id = current_user.id if current_user
  respond_to do |format|
    if @material.save
      flash[:success] = "Content Successfully Created"
      format.html { redirect_to @material }
      format.js
    else
      format.html { render 'new' }
      format.js
    end
  end
end
于 2013-01-26T10:25:22.020 に答える