Problem z select_tag w formularzu

dzień dobry.
mam problem z “błędami” w formularzu. konkretniej chodzi o to, że po wysłaniu pustego formularzu z przepisem, aplikacja nie wyrzuca błędu, tylko błąd jest wyrzucany przez railsy. [mam nadzieję, że ktoś zrozumie bełkot początkującej].
problem jest w sumie tylko z częścią select_tag, próbowałam różnych rzeczy, szukałam jakichś pomocnych rozwiązań, ale na nic nie natrafiłam.

używając tego:
<%= select_tag(:category_id, options_for_select(@categories), selected: :category_id) %>
kategoria ładnie zostaje przypisana, ale nie wyrzuca błędów.

używając tego:
<%= f.select(:category_id, Category.all.map{ |c| [c.name, c.id] }, :prompt => "- Choose Name -") %>
ładnie pokazuje, czego się nie wypełniło, ale nie zapisuje kategorii.

tu link do całego repozytorium na Gitcie.
będę wdzięczna za pomoc!

tutaj chyba ci czegos brakuje :smile:

def category_params
      params.require(:category).permit(:name)
end

o, faktycznie!
ale to mi problemu nie rozwiązuje. chyba, że coś źle robię

Nie jestem 100% pewien tego rozwiązania jednakże pierwszą zmianą jaką trzeba wykonać jest:
<%= f.select(:category_id, Category.all.collect {|p| [ p.name, p.id ] }, :prompt => "- Choose Name -") %>

Później nie rozumiem czemu w recipes_controller.rb w metodzie create jest umieszczona ta: @recipe.category_id = params[:category_id] linijka, usunięcie jej i dodanie category_params tak jak @nightreapper sugeruje powinno rozwiązać ten problem :smile:

Możesz opisać co chcesz osiągnąć? Bo nie do końca rozumiem użycie tego selecta.

@Dareddov, chcę, żeby user, który dodaje przepis mógł określić jego kategorię wybierając jedną właśnie z tego selecta.

@necromos, dzięki wielkie! działa tak, jak chciałam :slight_smile: