5

私はrails_adminが本当に好きですが、私のクライアントはCKEditorが好きではありません。これは本当にこの宝石のWYSIWYGの唯一のオプションですか?rails_adminでtinyMCEを使用する方法はありますか?

4

4 に答える 4

5

RailsAdmin (Rails 3.1) で CKEditor を適切に動作させるのに苦労した後、tinymce を使用しました。うまく動作し、数分で完了します。

gemfile に次を追加します。

gem 'tinymce-rails'

さらに、rails_admin.js.erb に次の行を含めます。

require_asset 'tinymce-jquery'

(rails_admin.js.erb)これを行う前に、ファイル全体を gem からにコピーする必要がある場合があります/assets/javascripts/rails_admin/

最後に、いくつかの jquery をビュー ファイルに追加して
app/views/rails_admin/main/edit.html.hamlapp/views/rails_admin/main/new.html.haml

 :javascript 
   jQuery(function() { 
     jQuery('textarea').tinymce({ 
       theme: 'advanced' 
     }); 
   }); 

これにより、すべてのテキスト領域フィールドに Wysiwyg が追加されます。

于 2011-12-06T14:00:56.590 に答える
1

WYSIWYG エディターは通常、HTML テキスト領域要素を JavaScript 機能でオーバーレイするだけです。したがって、どのエディターも理論上は機能するはずです。コード内の参照を tinyMCE に置き換え、すべてのファイルが適切にインストールされていることを確認してから、テキスト領域コントロールの ID を使用するように tinyMCE を設定します。

テキスト領域で HTML を作成するためにどのクライアント側インターフェースを使用するかによって、バックエンド プログラミングに違いが生じることはありません。

于 2011-07-19T21:15:04.177 に答える
1

偉大な学生、私はあなたのソリューションの修正版を提案します。

rails_admin.js.erbを gem から/assets/javascripts/rails_admin/プロジェクト パスの にコピーします。次の行を追加します。

...
require_asset 'tinymce-jquery'
%>
jQuery(function() {
     jQuery('textarea').tinymce({
       theme: 'advanced'
     });
});

そして、すべてが魔法のように機能します!

于 2012-03-23T14:52:54.160 に答える
0

私はこれを少し異なる方法で達成しました。

  • rails_admin (0.8.1)
  • tinymce-rails (4.4.1)

実装:

Gemfile

gem 'tinymce-rails'

app/assets/javascripts/rails_admin/custom/ui.js

//= require tinymce-jquery

var admin = {
  initTinyMce: function() { tinyMCE.init({ selector: "textarea[name$='_html]'" }) }
}

$(function() {
  admin.initTinyMce();

  $(document).on('rails_admin.dom_ready', function() {
    admin.initTinyMce();
  });
});

説明

https://github.com/sferik/rails_admin/wiki/Theming-and-customization

  • ui.js場所を提案します
  • 使用することを提案しますrails_admin.dom_ready

https://github.com/spohlenz/tinymce-rails

  • //= require tinymce-jquery: Ruby 補間は不要で、マニフェスト ファイルを使用するのが好きです

カスタム:

  • 初期化を2回実行する必要がありましたが、これまでのところすべて問題ないようです
  • セレクターは、フィールドが で終わるすべてのテキスト領域textarea[name$='_html]'を変換します。_html
于 2016-08-17T11:01:48.150 に答える