Rails 3 Использование RJS и работа в Internet Explorer - PullRequest
0 голосов
/ 14 апреля 2011

У меня есть приложение rails 3, которое имеет достаточно сложную функциональность ajax, оно прекрасно работает и работает в любом браузере, кроме IE, и хотя я не уверен, почему, полагаю, что-то делать с HTML5. Вот части моего приложения (отредактировано для краткости)

в представлении:

<li id="category_<%= category.id %>">
  <%= link_to "#{category.title}", new_categorization_path(current_user.id, :category_id => category.id), :remote => true %>
</li>

В контроллере:

class CategoryorizationsController

  def new
    @category = Category.find(params[:category_id])
    @categorization = Categorization.create(:user_id => current_user.id, :category_id => params[:category_id])
    render :update do |page|
      page.replace_html "category_#{params[:category_id]}", "#{link_to "#{@category.title}", categorization_path(current_user.id, :category_id => @category.id), :method => :delete, :remote => true, :style => "background-color:yellow;"}"
    end
  end

Этот код прекрасно работает во всех других браузерах, кроме IE (в настоящее время используется IE8, но я считаю, что он одинаков во всех версиях IE). В IE это, кажется, частично работает, когда я нажимаю на нее, ссылка получает желтый фон (как и должно быть), но, похоже, она вообще не обновляет HTML, когда я проверяю источник, кажется, он остался то же самое, и когда я нажимаю на ссылку снова ничего не происходит. Кроме того, если я проверяю БД, похоже, что она вообще не создала новую классификацию.

Что мне здесь не хватает? Типы пантомимы? Должен ли я поместить код в отдельный файл js.erb?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 30 мая 2011

В итоге я выполнил весь свой соответствующий AJAX в отдельном файле UJS JS, который, похоже, сделал это.

A la: new.js.erb

0 голосов
/ 14 апреля 2011

вы использовали двойные кавычки " дважды. попробуйте это (используйте ' ustead ")

  def new
    @category = Category.find(params[:category_id])
    @categorization = Categorization.create(:user_id => current_user.id, :category_id => params[:category_id])
    render :update do |page|
      page.replace_html "category_#{params[:category_id]}", "#{link_to '#{@category.title}', categorization_path(current_user.id, :category_id => @category.id), :method => :delete, :remote => true, :style => "background-color:yellow;"}"
    end
  end
...