状況
:カラム名1→str型
:カラム名2→str型
:カラム名3→int型
:カラム名4→int型
newアクションやupdateアクションのspecで
ArgumentError: '0' is not a valid カラム名の
エラーが起きる
結論
0は有効ではありません、と言われています。
整数(int型)として渡すべき内容が、文字列(str型)として渡されているため
起こっているいるエラーになります。
そのため、渡す値を整数に変換してあげれば解決します。
解決方法
controller
def ●●●_create_params
params.require(:staff).permit(
:カラム名1, :カラム名2, :カラム名3, :カラム名4
).tap do |v|
v[:カラム名3] = v[:カラム名3].to_i
v[:カラム名4] = v[:カラム名4].to_i
end
end
updateも同様になります。