У меня есть две кнопки для вызова видео. Кнопка вызывает действие, установленное в моем видеоконтроллере.Что является самым простым способом обновления рельсов button_to после сообщения ajax?
В мой контроллер
def featured
video = Video.find(params[:id])
video.nfeatured = params[:nfeatured]
video.save
respond_to do |format|
format.html { redirect_to :back }
format.js
end
end
На мой взгляд
<td class="featured">
<% if video.nfeatured == false %>
<%= button_to 'Feature', featured_network_video_path(network, video,
:nfeatured => true), :remote => true, :class => :feature %>
<% else %>
<%= button_to 'Remove', featured_network_video_path(network, video,
:nfeatured => false), :remote => true, :class => :unfeature %>
<% end %>
</td>
Самый ненавязчивый способ изменить кнопку «Удалить» после успешного Ajax пост? Все остальное работает нормально. Я попытался сделать jQuery для переключения вызова в файле featured.js.erb, но это не сработало.
Почему вы не используете 'j' вместо' escape_javascript'? Разве первое не помню? – jdoe
Большое спасибо за ваш ответ ... Я получаю 500 ошибок сервера при обратном вызове. Он успешно сохраняет действие, но не делает представления правильно. Есть предположения? Мне также пришлось передавать локальные переменные, так как этот рендер находится внутри блока. –
@jdoe, спасибо, я просто этого не знал) @ Kyle C, извините, я забыл, что вы должны либо передавать локальные параметры, либо использовать переменные экземпляра. Я предпочитаю второе решение. Вероятно, у вас есть ошибка, потому что вы не определили переменные '@ network' и' @ video' в действии 'featured'. См. Больше ошибок журналов, это помогает много. Я отредактировал ответ. –