6

erbテンプレートをデータベースに保存することは可能ですか?どのように?

4

3 に答える 3

6

もちろんそうだ。

しかし、同じレイアウトで異なるコンテンツのページのみが必要な場合、これは最善の解決策ではないと思います。

本当にERBをデータベースに保存したい場合は、ERBを保存したモデルを作成します。次に、このようなコントローラーコードを呼び出して、そのERBをレンダリングできます。

erb = ERB_model.find(...)
@some_model_data = SomeModel.find(...)
erb = ERB.new(erb.source)
render :text => erb.result, :layout => true (or another)

ERB.newパラメータを監視します。

于 2010-04-18T02:29:33.807 に答える
3

私はより良い方法を見つけました:

def show
  @modal_popup = ModalPopup.find(params[:id])
  # erb = ERB.new(@modal_popup.content)
  # render :text => erb.result, :layout => false
  render :inline => @modal_popup.content, :layout => false
end

このアクションをiframe内で使用するか、別のビューからアクションをレンダリングします。

于 2013-03-26T08:25:24.697 に答える
2

私もあなたが取り組んでいるのとほぼ同じコンセプトに取り組んでいます。また、クライアントが独自のWebサイトを作成する必要があります

最初はすべてのerbをデータベースに保存するというアイデアもありましたが、後でプレーンテキストページで機能するので、コンポーネントやパーシャルをレンダリングする場合は簡単ではないので、そのアイデアをあきらめました。

そして主に私はデータベースにlayout.erbファイルを保存するのに問題がありました

だから私はそのページがサブドメイン上に構築される方法で行くことにしました

乾杯、サメーラ

于 2010-04-18T14:42:10.250 に答える