Я создаю базовое приложение CRUD, и у меня есть form_for, который настроен для ajax с remote: true.Форма работает, как и уведомления, но я не могу ее интегрировать с toastr.По сути, это показывает, что у меня проблемы с пониманием того, как на самом деле работает вспышка.
Я прошел через 95% пути.У меня просто проблемы с этим последним этапом передачи обслуживания toastr.
Вот мои макеты / _flash частичный
#flash_messages
- flash.each do |f|
-type = f[0].to_s
= javascript_tag do
toastr["#{type}"]("#{f[1]}")
Мое действие контроллера состояния
def create
@status = Status.new(status_params)
if @status.save"
flash[:success] = "status created!"
respond_to do |format|
format.js
end
else
redirect_to :back
end
end
Моя форма_для
= form_for(current_user.statuses.build, remote: true) do |f|
=f.hidden_field :media_id, :value => media.id
=f.hidden_field :user_id, :value => current_user.id
=f.hidden_field :media_type, :value => media.media_type
%label.label= f.label :completion_status, 'Set Status'
.field.has-addons
.control
.select
= f.select :completion_status, options_for_select(["current", "completed", "future", "abandoned"])
.control
= f.submit "Save!", :class => "button is-primary"
и мой файл контроллера action.js.haml
$("#item_#{ @media.id }").html("#{escape_javascript(render(:partial => 'shared/media_status/destroy_status', :locals => { :media => @media }))}");
- flash.each do |type, message|
$("#flash_messages").html("#{type}: #{message.html_safe?}")
Я ожидаю, что это выдаст уведомление toastr, но вместо этого я просто получаю текстовое сообщение.Когда я перезагружаю страницу, уведомление от тостра отображается правильно.
Я много работал над этим и не очень умен.Я чувствую, что мне здесь чего-то не хватает.