0
我試圖解析來自單個表單字段的輸入以更新表中的3列。我創建了一個自定義屬性並定義了我自己的setter和getter方法以在表單中使用。我遇到的問題是如何設置實際的列數據。它似乎沒有采取輸入。從一個文本字段更新多列
我二傳手如下:
def humanized_ingredient=(value)
parsed = Ingreedy.parse(value)
write_attribute(:amount, parsed.amount)
write_attribute(:name, parsed.ingredient)
write_attribute(:unit, parsed.unit)
end
我在PARAMS白名單的新humanized_ingredient,但它似乎沒有做任何事情來的數量,名稱或單位。服務器控制檯中沒有任何錯誤。香港專業教育學院也嘗試過這種
def humanized_ingredient=(value)
parsed = Ingreedy.parse(value)
self.name = parsed.ingredient
self.amount = parsed.amount
self.unit = parsed.unit
end
繼承人的看法,以及:
<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
編輯:林上睡眠不足的白癡,不應該代碼.. .so我忘了我的reject_if在我的父母模型中的accept_nested_attributes上......我認爲我得到了所有的驗證檢查。顯然,當它拒絕時它沒有給出任何類型的輸出,所以它不會在日誌中彈出,因爲它被拒絕並且不處理數據。一切工作現在
香港專業教育學院嘗試,如果你看我貼的代碼是一樣的,你得到了什麼(只是我的名字字段),但它不更新的字段 – DRing
難道你忘了允許:humanized_ingredient?要使用setter,您必須首先允許參數。 –
它被稱爲嵌套屬性,它包含在父控制器的參數列表中。它正在被接受,服務器控制檯並沒有說它會拒絕它,就像我忘記添加它(之前已經發生過的那樣) – DRing