tinymce неинициализированная константа AppConfig в рельсах 3.1? - PullRequest
2 голосов
/ 30 декабря 2011

Я изучаю Rails по ходу дела, и мне предложили обновить существующий сайт с Rails 2 до Rails 3.1.1.Приложение использует tinymce, чтобы администратор мог редактировать несколько частей контента сайта.В нашем обновленном проекте, когда я нажимаю эту ссылку редактирования, результат будет

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)>'

. Я искал помощь по всему Интернету, но это, к сожалению, несколько общее имя переменной, я полагаю?В проекте используется гем, tinymce-rails, который, я думаю, является правильным вариантом для рельсов 3.1.Все, что я пытаюсь выяснить здесь, в чем заключается корневая проблема, поэтому я знаю, какую часть приложения необходимо обновить, чтобы хотя бы страница загрузилась, даже если после этого возникнет больше проблем, которые мне нужно исправить ...

Я проверил, что все шаги из https://github.com/sandipransing/rails_tiny_mce#readme кажутся реализованными (хотя это говорит о rails 3.0, поэтому я также просмотрел https://github.com/spohlenz/tinymce-rails)... Вот код в контроллере контента, который выдаетошибка:

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])

В проекте, похоже, есть tinymce-rails в файле gemfile, а также папка плагинов - в нем также есть все плагины, которые указаны в списке необходимых для первой ссылки на github.

(Примечание: к сожалению, это сайт, созданный кем-то другим, предоставленный нашему консультанту, который не работает с первоначальным создателем, и теперь моя невеста и я учимся, обновляя его, поэтому он построенвероятно, не пошел бы, но у нас нет времени для полного повторения.) Спасибо за чтение моего вопроса!

1 Ответ

1 голос
/ 30 декабря 2011

Метод uses_tiny_mce из другого драгоценного камня, который не совместим с рельсами> 3.1. Вы хотите удалить этот метод с любого из ваших контроллеров и следовать инструкциям в файле readme tinymce-rails . Драгоценный камень tinymce-rails просто добавляет JavaScript-код tinymce в ваш конвейер ресурсов в rails-3.1 +.

Я не знаю, откуда взялись AppConfig.freysmile_options. Найдите в приложении "freysmile".

Вот как я использую tinymce-rails с приложением 3.1.3:

Gemfile:

gem 'tinymce-rails'

application.js

//= require tinymce-jquery

вид / общий / _mce.html.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 только для столбцов с именем "content". Если ваши столбцы имеют разные имена, вам нужно будет настроить ваши неполные местные жители так, чтобы они подходили.

Может быть, есть лучший способ настроить кнопки и макет, не изменяя драгоценный камень, но это работает достаточно хорошо для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...