RoR создает динамическую страницу evernote - PullRequest
1 голос
/ 22 ноября 2011

, поэтому я создаю простое приложение RoR с внешним видом evernote.

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

Как отобразить список записных книжек?и всякий раз, когда пользователь нажимает на конкретную записную книжку, заметки этой записной книжки отображаются во втором столбце ...

Я подумываю создать для этого фреймы, но было бы лучше, если бы это были все элементы div, и мы можемпросто используйте jquery для их динамического обновления ... но я до сих пор не понял, как это сделать.

Извините, что звучу очень новичок.

Вот снимок того, что я в основномхочу выполнить

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

Спасибо за ваше время!

1 Ответ

1 голос
/ 22 ноября 2011

хэшируйте заметки, чтобы сгруппировать их по notebook_id

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

затем в списке записных книжек, когда нажата ссылка на записную книжку, поймайтеnotebook_id и просто загляните в свой @ notes_hash

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

вы можете использовать jQuery для динамического обновления вашего второго столбца.

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

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

</script>

убедитесь, что вам требуется гем 'json' для использования метода .to_json.

...