Модель update_attributes не обновляет значение - PullRequest
0 голосов
/ 21 декабря 2011

Рельсы 2.3.5

У меня есть форма, в которой есть поле формы с именем «MAX», и я включаю параметр «MIN» в качестве скрытого поля. Параметр MIN правильно включен в набор параметров threshold_control. Но по какой-то причине Rails не включает MIN в оператор обновления. Я вообще не понимаю, почему параметр MIN хорош и находится в наборе параметров формы.

Полагаю, я мог бы обновить SQL вручную. Кто-нибудь видит, почему параметр MIN не включен в оператор обновления? Спасибо!

<% form_for(@threshold_control) do |f| %>
    <%= f.error_messages %>
    <%= hidden_field_tag(:min_max, 'same') %>
    <%= f.hidden_field :min, :value => @threshold_control.min %>


@threshold_control.update_attributes(params[:threshold_control])

Processing ThresholdControlsController#update (for 127.0.0.1 at 2011-12-21 11:59:50) [PUT]
  Parameters: {"commit"=>" Update ", "authenticity_token"=>"SZCCvAKRbHXEOhYp/+JcTJnMaI3YbxAP8LzwiqqfKbE=", "id"=>"71", "min_max"=>"same", "threshold_control"=>{"max"=>"12.1", "min"=>"12.0"}}
  ThresholdControl Columns (87.0ms)   SHOW FIELDS FROM `threshold_controls`
  ThresholdControl Load (1.0ms)   SELECT * FROM `threshold_controls` WHERE (`threshold_controls`.`id` = 71) 
  SQL (1.0ms)   BEGIN
  ThresholdControl Update (16.0ms)   UPDATE `threshold_controls` SET `max` = 12.1, `updated_at` = '2011-12-21 11:59:51' WHERE `id` = 71
  SQL (21.0ms)   COMMIT

1 Ответ

0 голосов
/ 21 декабря 2011

Таким образом, это входит в параметры:

"threshold_control"=>{"max"=>"12.1", "min"=>"12.0"}

это минимальный фактический столбец в БД Вы управляли всеми миграциями? У вас есть attr_protected (или attr_accessible) в любых столбцах этой модели?

Кроме того, если миновать столбец db - вам не понадобится :value=> @threshold_control.min, вы можете просто сойти с рук:

<%= f.hidden_field :min %>

(даже если вы установили min на @threshold_value только в действии ruby, и оно не сохраняется) Если вышеупомянутое не заполняется значением min ..., это было бы полезно знать также.

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