0


0

RailsアプリでHTMLをjsonからjqgridにストリップする

Railsアプリでは、http://github.com/linoj/gridifyを使用して独自の管理者を設定しています。 これは、1つの例外を除いて非常にうまく機能します。HTMLがテーブルビューでレンダリングされ、セルが狂ったように爆発します。 私が使う

white-space:nowrap;

私のCSSでは、他のフォーマットの問題に役立ちます。

テーブルに到達する前にhtmlを取り除くか、テーブルがレンダリングされるときにそれを無視する必要があります(これは難しいと思います)

私が持っているのは、私のためにグリッドを作成するためのコントローラーとインデックスビューです。

コントローラ内:

def index
 statics = Static.find(:all) do
  if params[:_search] == "true"
   name    =~ "%#{params[:name]}%" if params[:name].present?
   content  =~ "%#{params[:content]}%" if params[:content].present?
  end
  paginate :page => params[:page], :per_page => params[:rows]
  order_by "#{params[:sidx]} #{params[:sord]}"
end

respond_to do |format|
  format.html
  format.json { render :json => statics.to_jqgrid_json([:id,:name,:content], params[:page], params[:rows], statics.total_entries) }
end
end

index.html.erb内:

<%= jqgrid("Static Pages", "statics", "/admin/statics",
[
{ :field => "id", :label => "ID", :width => 35, :resizable => false },
{ :field => "name", :label => "Name", :width => 100, :editable => true },
{ :field => "content", :label => "Content", :width => 800, :editable => true, :edittype => "textarea", :editoptions => { :rows => 20, :cols => 60 } }
], { :add => true, :edit => true, :inline_edit => false, :delete => true, :edit_url => "/admin/statics/post_data" }
) %>

誰も私がこのアクションのためにhtmlをエスケープ/削除する方法を知っていますか? 何が一番うまくいく?

1 Answer


0


私はこの質問が飛ぶことはないと思い、私の問題を解決するための信じられないほどエレガントな方法を見つけられなかったことを認めます。 完全を期すために、これはcssで私がやりたいことを表示させるために行うことです。

td {height:22px;white-space:nowrap;overflow:hidden;}
p {display:inline;}
br {display:none;}
h3 {display:inline;}
...

インポートされたデータのメンテナーが過度に使用するので、特にbrタグに満足しています。