Mam model article oraz category gdzie relacja miedzy nimi jest jeden(category) do wielu(article). W widoku dla article dopisałem pole Category
W sumie kategorii mam 5
<%= f.label "Categories" %>
<% for category in Category.all %>
<%= check_box_tag 'article[category_id][]', category.id, @article.category_id, :id => dom_id(category) %>
<%= label_tag dom_id(category), category.name, :class => "check_box_label" %>
<% end %>
Jeżeli wybieram sobie kategorie ostatnią (wiem że jej Id to 5) to nie wiem dlaczego zapisuje mi do bazy jako kategoria pierwsza(pod linkiem zrzut ekranu) http://mojeftp.vot.pl/check_box.png
zobacz, że jako category_id nie otrzymujesz “5” tylko [“5”], czyli tablicę, co wynika z tego:
article[category_id][]
(znaki []) na końcu
Problem w ogólności polega na tym, że używasz check boksów w miejscu, gdzie powinieneś używać radio buttonów lub selecta (check boksy służą do wybrania kilku opcji)
Dzięki Panowie za odpowiedź.
Gotar jestem na etapie nauki i wolałbym to zrobić bez używania gemów.
Domyślam się,że check box jest do stosowania przy wyborze wielu opcji ,ale myślałem że da się to jakoś oswoić:)problem w tym ,że jak próbowałem zrobić to za pomocą radio to wyskakuje mi “You have a nil object when you didn’t expect it!”