1

だから私はEvernoteのルックアンドフィールを備えたシンプルなRoRアプリを作成しています。

Notebook.rb

class Notebook < ActiveRecord::Base
  belongs_to :user
  has_many :notes
end

note.rb

class Note < ActiveRecord::Base
  belongs_to :user
  belongs_to :notebook
end

そして、先に進んで、インデックスビューを備えた静的コントローラーを作成しました。これがダッシュボードを表示する場所になります

static_controller.rb

class StaticController < ApplicationController
  def index
    if user_signed_in?
      @user = current_User
      @notebooks = @user.notebooks
      @notes = @user.notes
    end
  end
end

ノートブックのリストはどのように表示すればよいですか?ユーザーが特定のノートブックをクリックするたびに、そのノートブックのメモが2番目の列に表示されます...

このためにiframeを作成することを考えていますが、これらがすべてdivであり、jqueryを使用して動的に更新できるとよいでしょう...しかし、それを行う方法がまだわかりません。

非常に初心者っぽく聞こえてすみません。

これが私が基本的に達成したいことのスナップショットです

http://i.stack.imgur.com/8gs0l.png

お時間をいただきありがとうございます!

4

1 に答える 1

1

ノートをハッシュ化してnotebook_idでグループ化します

@notes_hash = @ user.notes.group_by(&:notebook_id)

次に、ノートブックリストで、ノートブックのリンクをクリックしたら、notebook_idをキャッチして、@notes_hashを調べます。

notes = @notes_hash [notebook.id] || []

jQueryを使用して、2番目の列を動的に更新できます。

<script type="text/javascript">
  var notes = <%= notes.collect{|a| a.note_content }.to_json %>;

  /* 
   * do stuff here with your array of notes content
   *
   */

</script>

.to_jsonメソッドを使用するには、「json」gemが必要であることを確認してください。

于 2011-11-22T12:50:34.997 に答える