0

私のコントローラーでは、レンダリング更新を使用していますが、div 要素が存在する場合にのみ更新したいと考えています。div要素が存在するかどうかを確認するために、使用してpage.selectいますが、エラーも出力も何も応答しません。これが私のコードです

def post_update
render :update do |page|
   page.replace_html('div_id':partial=>'my_partial') unless page.select("#div_id").blank?
  end
end

ここに欠けているものはありますか?

4

1 に答える 1

1

rjs でそのようなルビー条件を使用することはできません。その「場合を除き」page.select、サーバー上で実行され、DOM の内容が何であるかわかりません。

私はかつて、これに対処するいくつかの方法をブログに投稿しました。短いバージョンは、おそらく「条件で Javascript フラグメントを生成する」です。最近では、rjs から離れています。json または HTML をレンダリングし、それを処理するための JavaScript をページに配置します。

于 2012-04-28T07:27:09.367 に答える