可以使用Dojo Toolkit中一個TitlePane做到這一點,而且很可能有一個類似小部件jQueryUI的。
我只能Dojo Toolkit的的版本說
你會做這樣的事情:
<div data-dojo-type="dijit/TitlePane" data-dojo-props="href: '/blah', title: '<%= submission.title %>', open: false">
可以包括這在你的應用程序佈局道場的精簡版使用量,從CDN加載:
<script data-dojo-config="async: true, parseOnLoad: true"></script>
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.9.1/dojo/dojo.js"></script>
TitlePane已連線,因此當它展開時,它會自動加載提供給href參數的內容。
雖然這不完全是一個軌道解決方案直接,它可以用作替代。
對於Rails的解決方案,你可以簡單地使用AJAX調用呈現局部的控制器。您甚至可以使用
def blah
@submission = Submission.find(...)
respond_to do |format|
format.html # default render
format.js # js behavior
end
end
然後blah.html.erb
<%= render partial: 'submission/submission', object: @submission %>
與部分
<div id='submission-<%= submission.id %>'>
<div id='submission-<%= submission.id %>-title'><%= link_to(submission.title, 'blah/blah', remote: true) %></div>
<div id='submission-<%= submission.id %>-content'></div>
</div>
和blah.js.erb
把它掛
$.get('/submission/content', function(data) { $('#submission-<%= @submission.id %>-content').html(data) });
和進入submissions_controller與路線
def content
@submission = Submission.find(...)
render text: @submission.content
end
這可能不是一個確切的解決方案,但希望它會讓你在正確的道路上。
我想你正在尋找一個AJAX電話,是的。 – bbill
該死......好吧,我猜。 –