0

У меня есть приложение rails 3.2, где у меня есть таблица под названием menu_items. Приложение моих рельсов лает, когда я читаю данные, в которых есть апостроф (например, «пирог с дьяволом»). Я могу ввести поле, но, читая, это совсем другая история. Мое приложение работает отлично, пока я удаляю запись с помощью апострофа. Мое представление - это форма ajax, где я удаленно извлекаю запись. Моя схема внизу.Rails 3.2 ActiveRecord Database Field Issue

+-------------+--------------+------+-----+---------+----------------+ 
| Field  | Type   | Null | Key | Default | Extra   | 
+-------------+--------------+------+-----+---------+----------------+ 
| id   | int(11)  | NO | PRI | NULL | auto_increment | 
| name  | varchar(255) | YES |  | NULL |    | 
| description | text   | YES |  | NULL |    | 
| price  | decimal(8,2) | YES |  | NULL |    | 
| serves  | varchar(255) | YES |  | NULL |    | 
| measurement | varchar(255) | YES |  | NULL |    | 
| created_at | datetime  | YES |  | NULL |    | 
| updated_at | datetime  | YES |  | NULL |    | 
| section_id | int(11)  | YES |  | NULL |    | 
| position | int(11)  | YES |  | NULL |    | 
+-------------+--------------+------+-----+---------+----------------+ 

Ниже приведена ошибка, которую я получаю при попытке редактировать запись в своем приложении.

ActionView::Template::Error (SyntaxError: reserved word "class" can't be assigned on line 343): 
    1: $('#edit_form').empty() 
    2: $('#available_menu_items_container').empty() 
    3: $('#available_menu_items_container').html('<%= render :partial => "menu_item" %>') 
    4: $('.new_menu').hide() 
    app/views/menus/edit.js.coffee:1:in `_app_views_menus_edit_js_coffee__4311426478414483561_70345298165400' 
    app/controllers/menus_controller.rb:33:in `edit' 
+0

Покажите нам стенограмму ответа на этот вызов ajax. –

+2

Вы почти наверняка забываете правильно процитировать/убежать где-то. Как выглядит ваш 'edit.js.coffee'? –

ответ

1

Согласно сообщению об ошибке, вы устанавливаете атрибут называется class где

ActionView::Template::Error (SyntaxError: reserved word "class" can't be assigned on line 343): 

Посмотрите на линии 343 (я думаю, что с вашей точки зрения) на что-то вроде

Авось вы устанавливаете класс CSS?

Действительно странно, что апостроф повлияет на это - я думаю, что удаление записи с апострофом просто скрывает эту ошибку, а не решает проблему.

Смежные вопросы