所以我正在创建一个带有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
我应该如何显示笔记本列表?每当用户点击特定笔记本时,该笔记本的笔记就会显示在第二列......
我正在考虑为此创建iframe,但如果这些都是div并且我们可以使用jquery动态更新它们会更好......但我仍然没有想出如何做到这一点。< / p>
很抱歉听起来非常新手。
这是我基本上想要完成的事情的快照
http://i.stack.imgur.com/8gs0l.png
感谢您的时间!
答案 0 :(得分:1)
hashify notes以通过notebook_id
对其进行分组@notes_hash = @ user.notes.group_by(&amp;: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'gem来使用.to_json方法。