Ошибка при использовании вложенных par_html партиалов в рельсах - PullRequest
0 голосов
/ 26 января 2009

Итак, у меня есть два вложенных партиала с вызовами insert_html. Обычно у каждой команды есть несколько игроков, и у меня есть кнопка добавления игрока и кнопка добавления команды, каждая из которых вызывает партию со следующими помощниками

    module TeamsHelper
  def add_team_link(name)
    link_to_function name do |page|
      page.insert_html :bottom, :teams, :partial => 'team', :object => Team.new
    end 
  end

   def add_player_link(name2)
   link_to_function name2 do |page2|
     page2.insert_html :bottom, :players, :partial => 'player', :object => Player.new
    end
   end
 end

Это прекрасно работает, если я использую только один вызов insert_html, но когда я пытаюсь получить и то, и другое, я получаю ошибку javascript "отсутствует" после списка аргументов "и внешнюю кнопку" добавить команду "не удается. Есть идеи?

1 Ответ

2 голосов
/ 26 января 2009

Вы можете поместить функцию link_to_link в add_player_link в часть, которую вы отображаете для команд. Затем вы можете назначить уникальный идентификатор Team Div, в который вы хотите вставить предметы:
<% = link_to_function name2 do | page2 | <br /> page2.insert_html: bottom, "Players _ # {unique_id}",: частичный => 'player',: object => Player.new

Каждый элемент DOM команды имеет уникальный идентификатор? У меня были проблемы, когда у меня было два div с id = "order", и это ломало вещи. Похоже, у вас было бы много «командных» дивов с множеством «игроков» внутри. Попробуйте дать каждому уникальный идентификатор, и вторая кнопка, когда у вас есть две команды, вероятно, начнет работать.

...