1

Rails と Ajax を使い始めたばかりで、Ajax と Jquery を統合する際にいくつかの問題に直面しています。

jQueryを使用してdivで表示および更新したいデータがあります。項目をドラッグ アンド ドラッグできるテーブルを Jquery で記述しました。現在、デフォルトのアイテムを使用しています。このアイテムをバック エンド レールで取得したいのですが、どうすればよいかわかりません。

これがモデルです。これらを表に示したいと思います。

class SlotAllocation < ActiveRecord::Base
  attr_accessible :group_index, :lesson_type, :timeslot_id

  def as_json(options={}) 
  {
     :group_index =>self.group_index
     :lesson_type =>self.lesson_type
     :timeslot_id =>self.timeslot_id
  }
end

これがコントローラーのアクションです。index および update 関数に format.js を追加しました。

  def index
    @slot_allocations = SlotAllocation.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @slot_allocations }
      format.js{ render :json => @slot_allocations }
    end
  end

    def update
    @slot_allocation = SlotAllocation.find(params[:id])

    respond_to do |format|
      if @slot_allocation.update_attributes(params[:slot_allocation])
        format.html { redirect_to @slot_allocation, notice: 'Slot allocation was successfully updated.' }
        format.json { head :no_content }
        format.js { head :ok}
      else
        format.html { render action: "edit" }
        format.json { render json: @slot_allocation.errors, status: :unprocessable_entity }
        format.js  { render :js => @slot_allocation.errors, :status => :unprocessable_entity }
      end
    end
  end

ビューにはテーブルがあります。私が設定したいくつかのデフォルト値に従って動作しています。

<table id='subjects' border="1">
    <tbody></tbody>
</table>

ここで、これらのデフォルト値をレールにある値に変更したいと思います。

github のコードから得た特定の情報をつなぎ合わせようとすることによって。これを試してみました。

slots= {
    url: '/slot_allocations'
}

理解を助けるために、取得できる情報を確認するために JQuery でそのようなことを行ったところ、[object Object] が得られることがわかりました。

TryDiv(slots);

 function TryDiv(slots){
        var div = document.getElementById('tryout');
        div.innerHTML = div.innerHTML + slots;
 }

そのオブジェクトに何が含まれているのかよくわかりません。モデルから必要な情報を取得する方法について誰かが助けてくれれば幸いです。私が参照できる記事やコード サンプルも同様に高く評価されます。

4

0 に答える 0