2012-04-24 10 views
1

RailsAdminで独自のネストされたフォームを作成しようとしています。RailsAdminで独自のネストされたフォームを作成

私にはhas_many TechSpecsのプロジェクトがあります。エラー私は使用しない限り:私のrails_admin.rb初期化子では、私は(「NilClass nilのための方法のsafe_concat」私は個人的にERBをより快適にしていませんが、私は非常に奇妙取得_tech_specs_field.html.hamlで

config.model Project do 
    edit do 
    configure :tech_specs do 
     partial 'tech_specs_field' 
    end 
    end 
end 

を以下していますHAML)私は

= form.fields_for(field.name) do |nested_form| 
    = render :partial => 'spec', :locals => {:nested_form => nested_form} 

- add = "<i class='icon-plus icon-white'></i> New Tech Spec".html_safe 
= form.link_to_add add, field.name, { :class => 'btn btn-info' } 

私は実際に底に隠されたdiv要素内のページに生成された新しいtech_specsのための青写真を見ることができますがありますが、新しい技術仕様]ボタンをクリックすると、何もしません。 _spec.html.hamlの中には、text_fieldsとhidden_​​fieldsに加えて削除リンク(これはうまくいく)の束があります。

1)私はJSで何が起こっすべきかを追跡して、それを修正したりすることができますどのように私(bbenezech-nested_form宝石からRailsAdminネストされたフォームで動作するように部分的RailsAdmin:

私は二つのことを思ったんだけど私は、RailsAdminが使用しているもの以外に、なぜ私の部分がhamlになければならなかったのか、そして何とかadminフォームを生成する大規模なチェーンでは互換性がないという考えはありますか?

+0

詳細情報:RailsAdminがnestFormEvents.insertFieldsメソッドを上書きするような文書準備メソッドを持つ別のJSファイルra.nested-form-hooks.coffeeを挿入することがわかりました。私はJSにはほとんど流暢ではありませんが、これはRailsAdminがタブ付きのhas_manyウィジェットになっているようです。 – Aaron

+0

これは永続的な解決策ではありませんが、ra.nested-form-hooks.coffeeの内容をコメントアウトすると、依存するgemを使ってカスタムネストされたフォームを問題なく作成できます。それはまだハムルでなければならない。 – Aaron

+0

これは現在、RailsAdminの未解決の問題です。私はより多くを学ぶようにそれを更新します。 https://github.com/sferik/rails_admin/issues/1094 – Aaron

答えて

2

これは良い最終的な答えはありませんが、私は、ネストされたフォームを使用するカスタムパーシャルで

var oldNestedFormEvents = window.nestedFormEvents.insertFields 
    window.nestedFormEvents.insertFields = function (content, assoc, link) { 
    if ($(link).closest('.no_tabs').length > 0) { 
     return $(content).insertBefore(link); 
    } else { 
     return oldNestedFormEvents(content, assoc, link); 
    } 
    } 

ui.jsにハック以下JSで問題を回避することができました、I単に 'no_tabs'クラスを含まれているdivに追加して、元のinsertFieldsメソッドをbbenezech-nested_formsから再利用します。

関連する問題