Wpis z mikrobloga

#rubyonrails #ruby #rails #ror
Robię kurs od Michaela Hartla. Mam pewne problemy.

Dlaczego nie dodajemy dwukropka przy categoryids, a przy pozostałych argumentach tak? Ponadto czy konieczne jest wskazanie, ze to tablica?

def article_params
params.require(:article).permit(:title, :description, category_ids: [])
end
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Tomekarl: title i description to są symbole, dlatego są poprzedzone dwukropkami. category_ids: [] zaś to hash, który jako klucz ma symbol categoryids. Starszy sposób zapisu takigo hasha to: :category_ids => [] gdzie wyraźniej widać że kluczem jest również symbol. A w stron parameters zapis ategory_ids: [] oznacza, że w parametrach pod kluczem category_ids oczekujemy tablicy (w odróżnieniu od pojedynczych parametrów title i description).
  • Odpowiedz
@Tomekarl: jeśli chcesz żeby parametr category_ids był interpretowany jako tablica (tj. że oczekujemy tablicy), to tak, musisz jasno napisać, że będzie to tablica, tak jak napisał @bliss.
  • Odpowiedz