Kurcze, mam problem z takim banałem:
Dwie tabele: products która ma belongs_to :categories i categories która ma has_many :products. Udało mi się już wyświetlić w formularzu dodawania produktu pole select z zawartością z kategorii. Jednak przy dodawaniu nowego produktu nie wpisuje mi category_id do bazy w tabeli produktów. Nowy produkt dodaję tak:
[code] def product_create
@product = Product.new(params[:product])
if @product.save
flash[:notice] = ‘Nowy produkt dodany pomyślnie’
redirect_to :action => ‘product_list’
else
render :action => ‘product_new’
end
print :product
end
def product_new
@product = Product.new
@categories = Category.find(:all, :order => “name”).map {|u| [u.name, u.id]}
end[/code]
Mam też pytanie co daje |u| w przedostatniej linii? Zauważyłem że przy tworzeniu tabel daje sie |t| ale nie wiem nawet czego szukać o tych || żeby doczytać.
Z góry dzięki za pomoc.
EDIT
Już rozwiazałem. Wywaliłem linijkę zaczynajacą się od @categories w product_new i zmieniłem w _product_form.rhtml linijkę z polem kategorii na
<%= collection_select :product, :category_id, Category.find(:all), :id, :name %>
teraz walczę z wyświetlaniem kategorii na listach