0

したがって、insert_html への呼び出しを含む 2 つの入れ子になったパーシャルがあります。基本的に、各チームには複数のプレイヤーがいて、次のヘルパーでそれぞれパーシャルを呼び出すプレイヤーの追加ボタンとチームの追加ボタンがあります

    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

これは、1 つの insert_html 呼び出しのみを使用する場合は問題なく機能しますが、両方を使用しようとすると、「引数リストの後に ) がありません」という JavaScript エラーが発生し、外側の「チームの追加」ボタンが失敗します。何か案は?

4

1 に答える 1

2

add_player_link の link_to_function を、チーム用にレンダリングしているパーシャルに入れることができます。次に、アイテムを挿入するチーム Div の一意の ID を割り当てることができます:
<%= link_to_function name2 do |page2|
    page2.insert_html :bottom, "players_#{unique_id}", :partial => 'player', :object => Player.new

各チームの DOM 要素には一意の ID がありますか? id="order" で 2 つの div を作成すると、問題が発生するという問題がありました。多くの「チーム」div があり、その中に多くの「プレーヤー」div があるのが好きです。それぞれに一意の ID を割り当ててみてください。2 つのチームがある場合は、2 番目のボタンがおそらく機能し始めます。

于 2009-01-26T20:38:16.800 に答える