2011-12-29 17 views
2

私はRailsを学んでいます。既存のサイトをRails 2からRails 3.1.1に更新するプロジェクトに着手しました。このアプリは、管理者がサイトのコンテンツのいくつかの部分を編集できるように、tinymceを使用しています。私は結果がレールの初期化されていない定数AppConfig 3.1?

Routing Error 
ActionController::RoutingError (uninitialized constant Admin::ContentController::AppConfig): 
app/controllers/admin/content_controller.rb:4:in `<class:ContentController>' 
app/controllers/admin/content_controller.rb:1:in `<top (required)>' 

でこの編集]リンクをクリックしたときに私たちのアップグレードプロジェクトでは、私は助けをすべてインターネット上で検索しましたが、これは残念ながら、私は推測する変数のやや総称でありますか?このプロジェクトでは、宝石を使用しています。これは、レール3.1の正しいオプションです。私がここで見つけようとしているのは根本的な問題なので、アプリケーションのどの部分が更新される必要があるかを知っているので、後で修正する必要がある問題がさらにあるとしてもページが読み込まれます。

私はここでのコードはエラーをスローコンテンツコントローラでの...(それは3.0レール言うものの、私はまたhttps://github.com/spohlenz/tinymce-railsの上に見えた)実装しているように見えるhttps://github.com/sandipransing/rails_tiny_mce#readmeからのステップのすべてを検証:

class Admin::ContentController < ApplicationController 
before_filter :require_admin_login 

uses_tiny_mce(:options => AppConfig.freysmile_options, :only => [:referral_center, :great_review_tips, :faq, :badge_assignment_mail, :point_assignment_mail, :add_referral_mail, :patient_invitation_mail]) 

プロジェクトには、gemfileとpluginsフォルダにtinymce-railsがあるようです。また、最初のgithubリンクで必要とされているすべてのプラグインもあります。

(残念ながら、残念ながら、これは他の誰かが作ったサイトで、元のクリエイターとは仕事をしていないコンサルタントのボスに与えられています。私の婚約者と私はこれを更新して学習しています。私はおそらく行っていないだろうが、我々は完全なやり直しのための時間がありません。)私の質問を読んでくれてありがとう!

答えて

1

uses_tiny_mceの方法は、レール> 3.1と互換性がない別の宝石からのものです。コントローラからその方法を削除し、readmeのtinymce-railsの指示に従います。 tinymce-railsの宝石は、単にrail-3.1 +のアセットパイプラインにtinymceのjavascriptを追加します。

私はAppConfig.freysmile_optionsがどこから来るのか分かりません。アプリを検索して「フリーミル」を探しましょう。

Gemfile:

gem 'tinymce-rails' 

application.js

//= require tinymce-jquery 

ビュー/共有/ _mce.htmlここ

は私が3.1.3アプリでTinyMCEのレールを使用している方法です.erb

<div id="form_content"> 
    <h3><%= f.label :content %></h3> 
    <%= f.text_area :content, :cols => '100', :rows => '50', :class => 'mce' %> 
</div> 

<script type="text/javascript"> 
    $(function() { 
    $('.mce').tinymce({ 
     width: 1000, 
     theme: 'advanced', 
     theme_advanced_toolbar_location: 'top', 
     theme_advanced_buttons1: 'bold, italic, underline, strikethrough, justifyleft, justifycenter, justifyright, justifyfull, bullist, numlist, outdent, indent, cut, copy, paste, undo, redo, link, unlink, image, cleanup, code, removeformat, help', 
     theme_advanced_buttons2: 'formatselect, fontselect, fontsizeselect, styleselect, hr, sub, sup, forecolor, backcolor, forecolorpicker, backcolorpicker, charmap, visualaid, anchor blockquote', 
     theme_advanced_buttons3: '' 
    }); 
    }); 
</script> 

フォーム:

<%= render :partial => 'shared/mce', :locals => {:f => f} %> 

「コンテンツ」という名前の列には、tinymceのみを使用しています。列の名前が異なる場合は、地域に合わせて調整する必要があります。

宝石を変更せずにボタンやレイアウトをカスタマイズする方が良いかもしれませんが、これは私にとってはうまく機能しています。

+1

ありがとうございます。コントローラーの行をコメントアウトすると、ページが読み込まれ、tinymce-railsのreadmeにコントローラーには何も付いていないことに気づきました。今、私はエディタのレンダリングを進めることができました。レール2から3へのアップグレードを捜しているうちに、私はこの機能の変化について何も見ていませんでした。私はそれが何かノービッシュであると思ったが、うまくいけば、この質問は後でいくつかの他の悪い魂を救うことができる。 :) –

関連する問題