У меня есть модель «MyObject», которая содержит свойство под названием «цвет», значение этого свойства выбрано из списка COLORS = ['red', 'black', 'yellow'].В моем приложении я получил один экземпляр «MyObject» из базы данных и показал его на странице в виде строки.Я использовал помощник формы select в rails 3 и позволил пользователю выбрать цвет из выпадающего меню.
Я использовал помощник формы следующим образом:
select("myobject", COLORS, { :include_blank => false })
,
На странице просмотра я успешно получаю цвета в виде раскрывающегося меню со значением по умолчанию в качестве выбранного.
НО , когда я выбираю другой цвет изВ меню и нажмите кнопку «Сохранить», «myobject», передаваемый моему контроллеру, всегда содержит значение цвета по умолчанию вместо выбранного, почему ??
Я использую button_to("save", myobject_path(myobject), :method=>:put)
, который передает объект моему контроллеру.1015 *
в сторону моего контроллера, метод обновления:
class MyobjectsController < ApplicationController
...
def update
@myobject = myobject.find(params[:id])
if @myobject.update_attributes(params[:myobject])
puts @myobject.color #always get default value
redirect_to myobject_path
else
redirect_to myobject_path
end
end
...
end
Кто-нибудь может объяснить мне, почему я всегда получаю значение цвета по умолчанию вместо выбранного?