У меня сейчас есть вкладки jQuery UI, но мне нужна помощь в реализации Ajax. Мне нужна помощь в получении #tab-2
для отображения информации (@user.messages
) из MessagesController
в макете, который существует как частичное в MessagesController
.
Мой application.js
:
$(function() {
$( "#tabs" ).tabs({
ajaxOptions: {
error: function( xhr, status, index, anchor ) {
$( anchor.hash ).html(
"Couldn't load this tab. We'll try to fix this as soon as possible. " +
"If this wouldn't be a demo." );
}
}
});
});
Мой профиль show.html.erb
:
<div id="tabs">
<ul id="infoContainer">
<li><a href="#tabs-1">About</a></li>
<li><%= link_to "Messages", "messages/profile_messages", :remote => true %></li>
</ul>
<div id="tabs-1">
</div><!-- end profile-about -->
</div>
Мой _profile_messages
частичный в MessagesController:
<div id="tabs-2">
<% for 'message' in @user.messages %>
<div class="message">
</div>
<% end %>
</div>
Вот вывод HTML вкладок пользовательского интерфейса jQuery:
<div id="tabs">
<ul id="infoContainer">
<li><a href="#tabs-1">About</a></li>
<li><a href="messages/profile_messages" data-remote="true">Messages</a></li>
</ul>
<div id="tabs-1">
Вот вкладки, как видно из Firebug:
<div id="tabs" class="ui-tabs ui-widget ui-widget-content ui-corner-all">
<ul id="infoContainer" class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
<li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"><a href="#tabs-1">About</a></li>
<li class="ui-state-default ui-corner-top"><a href="#ui-tabs-1" data-remote="true">Messages</a></li>
</ul>
<div id="tabs-1" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
</div>
</div>
Тот факт, что Firebug показывает вторую ссылку как # ui-tabs-1, кажется мне странным. Затем, когда я нажимаю ссылку «Сообщения» для загрузки @ user.messages, Firebug показывает ошибку Failed to load resource: the server responded with a status of 404 (Not Found) - :3000/profiles/messages/profile_messages
.