Я пытаюсь создать пост с помощью jquery ajax, но не могу заставить его работать правильно.Кажется, пост выглядит очень странно (я думаю, что он вообще отсутствует), а флеш-сообщение появляется только после обновления страницы.Сообщение также корректно форматируется после обновления страницы.
Вот javascript:
$("#micropost_form").before('<div id="flash_notice"><%= escape_javascript(flash.delete(:notice))%></div>');
$("#user_info").html("<%= pluralize(current_user.microposts.count, "micropost") %>");
$("#feed_items").prepend(" <%= escape_javascript(render(:partial => @micropost)) %>")
$("#micropost_form")[0].reset();
Тело моего макета приложения:
<body>
<div class="container">
<%= render 'layouts/header' %>
<section class="round">
<div id="flash_notice"><%= render 'shared/flash_messages'%></div>
<%= yield %>
</section>
<%= render 'layouts/footer' %>
<%= debug(params) if Rails.env.development? %>
</div>
</body>
Вот мой домстраница (отображается в yield
макета приложения):
<table class="front" summary="For signed-in users">
<tr>
<td class="main">
<h1 class="micropost">What's happening?</h1>
<%= render 'shared/micropost_form' %>
<%= render 'shared/feed' %>
</td>
<td class="sidebar round">
<%= render 'shared/user_info' %>
<%= render 'shared/stats' %>
</td>
</tr>
</table>
Вот мой частичный канал:
<% unless @feed_items.empty? %>
<table id="feed_items" class="microposts" summary="User microposts">
<%= render :partial => 'shared/feed_item', :collection => @feed_items %>
</table>
<%= will_paginate @feed_items %>
<% end %>
Мой частичный флеш-сообщения:
<% flash.each do |key, value| %>
<div class="<%= key %>"><%= value %></div>
<% end %>
Дайте мне знать, если есть какой-то другой код, который я должен опубликовать.
Так, что я делаю не так?Если вы хотите просмотреть весь код и запустить его локально, чтобы лучше понять, что происходит, вы можете найти его здесь: https://github.com/meltzerj/sample_app