我試圖向現有模型添加新列,但是當我嘗試更新值時,沒有任何數據寫入數據庫。Ruby:新數據庫列未被保存,但在遷移後正在讀取
我有以下的輸入在我看來
<% if is_auth%>
<%= f.input :is_startup, as: :radio_buttons, label: 'Startup' %>
<%= f.input :is_hq, as: :radio_buttons, label: 'Is the Office Headquarters' %>
<% end %>
伊夫加入is_hq場與遷移數據庫。問題是我不能從視圖更新該字段。 is_startup參數得到更新,但是新的is_hq參數沒有。如果我在pgadmin中運行sql來設置一個值,它會正確讀取它,但我不能改變它。
在我的控制器,我有以下更新代碼
def update
@company = Company.find(params[:id])
if @company.update_attributes(company_params)
flash[:success] = "Data updated"
redirect_back(fallback_location: edit_page)
else
flash[:error] = @company.errors.full_messages
render 'edit'
end
end
有沒有設定必要的參數和模型中我沒有驗證。
我不明白爲什麼我添加的任何新字段沒有得到更新。在日誌中,我可以看到正確傳遞的參數,但提交會更新新的新字段。
您是否已更新'company_params'以包含新字段? –
即時通訊新的紅寶石,所以原諒我,如果這是一個愚蠢的問題,但我可以在哪裏更新company_params添加這個新領域?我已經在enitre代碼庫上做了一個grep,並且它引用的唯一位置在控制器中,並且它沒有設置在任何地方。我正在尋找強烈的參數的任何定義,但無法找到任何東西 – briansexton
當然這是一個愚蠢的問題!找到了。不知道我昨晚在搜索時是在做什麼,但是它在另一個文件/controllers/concerns/Company.rb中。多數民衆贊成在工作,現在非常感謝你 – briansexton