0

カスタムSimpleForm入力を作成しています。javascriptモーダルポップアップを利用して値を選択します。

基本的に、フォームビューにモーダルパーシャルを含めると機能しますが、理想的には、カスタム入力でパーシャルをテンプレートにプッシュする必要があります。

しかし、私はそれを動作させることができません。これを試していますが、パーシャルが正しくレンダリングされません。

class ProductCategoryImageSelectInput < SimpleForm::Inputs::CollectionSelectInput
  def input

  html = ''
  html << '<a href="#myModal" role="button" data-toggle="modal">Launch demo modal</a>'

  File.open("#{Rails.root}/app/views/product_categories/_browse_modal.html.erb", 'r') do |f|
    html << f.read
  end

  end
end

何かご意見は?

編集

私は明らかにスクリーンショットを投稿するにはあまりにも新しいユーザーですが、機能の違いへのリンクは次のとおりです。

フォームにモーダルコードを埋め込むと、これが必要な機能になります

モーダルコードをカスタム入力に入れようとすると、代わりに次のようになります: 機能しません

4

2 に答える 2

6

SimpleForm::FormBuilder次の名前のインスタンス変数に割り当てられたインスタンスを使用して、カスタム入力から部分的にレンダリングすることもできます@builder

class ProductCategoryImageSelectInput < SimpleForm::Inputs::CollectionSelectInput
  def input
    @builder.template.render(partial: 'product_categories/browse_modal', locals: { foo: 'bar'})
  end
end
于 2015-04-15T20:40:54.223 に答える
0

奇妙なことに、私はすでにここでそれに答えたようです。これはあなたのために働きますか?

ERB.new(f.read).result(binding)

PS:HAMLの代わりにERBで更新されました。

于 2012-09-07T03:23:56.333 に答える