Mam pole tablicy w moim modelu i próbuję go zaktualizować.Szyny 4 Nieprawidłowe parametry dla tablicy
Moja silna metoda parametr jest poniżej
def post_params
params["post"]["categories"] = params["post"]["categories"].split(",")
params.require(:post).permit(:name, :email, :categories)
end
Moje działanie w moim kontroler następująco
def update
post = Post.find(params[:id]
if post and post.update_attributes(post_params)
redirect_to root_url
else
redirect_to posts_url
end
end
Jednak ilekroć złożyć aktualizację post, w moim dzienniku rozwoju widzę
Unpermitted parameters: categories
Parametry przekazywane to
Parameters: {"utf8"=>"✓", "authenticity_token"=>"auth token", "id"=>"10",
"post"=>{"name"=>"Toni Mitchell", "email"=>"[email protected]", "categories"=>",2"}}
Chcę myśleć, że ma to coś wspólnego z tym, że atrybut categories
jest tablicą, ponieważ wszystko inne wygląda dobrze. Z drugiej strony mógłbym się mylić. A więc, co jest nie tak z moim kodem i dlaczego nie pozwala mi zapisać pola kategorii, gdy wyraźnie jest to dozwolone? Dzięki.
To może być ze względu na sposób ustawiania wartości parametru kategorii, IIRC obiekt params nie jest prosta hash, czy próbowałem prostszy przykład? – Slicedpan