2015-05-20 2 views
0

При запуске ниже в моем приложении Rails я получаю сообщение об ошибке Unknown Attribute.Rails obscure ActiveRecord UnknownAttribute error

@appointment = Appointment.find(params[:id]) 

@appointment.update_attributes(appointment_params) 

Я получаю ActiveRecord::UnknownAttributeError. Неизвестный атрибут - appointment_id в модели Назначения.

Я удалил это поле, удалил ассоциацию на model.rb, удалил его из определения сильных параметров и везде, о котором я могу думать.

Я не POSTING/PUTing appointment_id на сервере при создании или обновлении, и я проверил это, возвратив appointment_params, и он все еще не возвращается.

Что может быть причиной этой ошибки?

+0

Показать этот метод 'assign_params' и вывод файла журнала консоли, чтобы показать ошибку ....... –

+0

params.require (: meeting) .permit (: field1,: field2,: etc) – Noah

+0

No. покажите мне фактический файл .. если вы не выбрали белый список этого параметра .. он не должен появляться .., а также консольный журнал, чтобы показать ошибку ........... –

ответ

0

По вашему комментарию,

def appointment_params 
    params.require(:appointment).permit(:field1, :field2, :etc) 
end 

ActiveRecord::UnknownAttributeError означает, что :field1, :field2 или :etc не в базе данных.

Если вы посмотрите на файл schema.rb, по крайней мере одно из этих полей должно отсутствовать в таблице appointments.

FWIW, после того, как вы делаете Rails в течение 8 часов в день в течение нескольких лет, эта ошибка больше не будет неясной.

+0

Это не проблема. – Noah

+0

Можете ли вы добавить таблицу из schema.rb? –

+0

В нем указано «неизвестный атрибут: назначение_ид», когда это данные, которые я отправляю в запросе PUT: «{« назначение »: {« assign_hierarchies_attributes »: [{« parent_id »:« 1848 »,« child_id »: "159"}]}} ' – Noah

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