Im пытается проанализировать ввод из одного поля формы, чтобы обновить 3 столбца в таблице. Я создал пользовательский атрибут и определил свои собственные методы настройки и метода getter для использования в форме. Проблема Im имеет как установить фактические данные колонки. Кажется, он не вмешивается.Обновление нескольких столбцов из одного текстового поля
Мой сеттер выглядит следующим образом:
def humanized_ingredient=(value)
parsed = Ingreedy.parse(value)
write_attribute(:amount, parsed.amount)
write_attribute(:name, parsed.ingredient)
write_attribute(:unit, parsed.unit)
end
У меня есть новый humanized_ingredient в Params белом списке, но он не кажется, делать что-либо на сумму, имя или единицы. В консоли сервера отсутствуют какие-либо ошибки. Ive также попытался это
def humanized_ingredient=(value)
parsed = Ingreedy.parse(value)
self.name = parsed.ingredient
self.amount = parsed.amount
self.unit = parsed.unit
end
Heres вид, а также:
<div class="row">
<div class="small-11 columns">
<%= f.text_field :humanized_ingredient %>
</div>
<div class="small-1 columns">
<%= f.hidden_field :_destroy %>
<%= link_to "Remove", '#', :onclick => h("remove_fields(this)"), class: "btn", title: "Remove Ingredient", remote: true %>
</div>
</div>
Понятия не имею, почему оно не принимая Params
Edit: Im идиотом и не должен кода на небольшой сон .. .so я забыл, что у меня был reject_if на моих accepts_nested_attributes в моей родительской модели ... думал, что у меня есть все проверки проверки. По-видимому, это не дает никакого выхода, когда он отклоняет, поэтому он не появлялся в журналах как отклоненный и просто не обрабатывал данные. Все работает, как ожидается, в настоящее время
ив попробовал, что если вы посмотрите на код, который я отправил это то же самое, что вы получили (только с моими именами для полей), но это не обновлять поля – DRing
ли Вы забыли разрешить: humanized_ingredient? Чтобы использовать setter, вы должны сначала разрешить параметр. –
его называют вложенным атрибутом и он включен в список параметров родительского контроллера. Он принимается, и консоль сервера не говорит об отказе от него, как если бы я забыл добавить его (что было раньше) – DRing