Hi Guys,
I don't know why but I can't add a correct value in the database instead to add the correct value I add a ID
for the schema.rb file I have
create_table "apples", :force => true do |t| t.string "name" t.integer "basket_id" t.datetime "created_at" t.datetime "updated_at" end
create_table "baskets", :force => true do |t| t.string "name" t.datetime "created_at" t.datetime "updated_at" end
create_table "tables", :force => true do |t| t.string "basket" t.string "apple" t.integer "basket_id" t.integer "apple_id" t.datetime "created_at" t.datetime "updated_at" end
in the new @table form ('table' is the name of the model) I have a dynamic select menu
<%= f.label :basket_id %> <%= f.collection_select :basket_id, Basket.order(:name), :id, :name, {:prompt => true} %>
<%= f.label :apple_id %> <%= f.grouped_collection_select :apple_id, Basket.order(:name), :apple, :name, :id, :name, {:prompt => true} %>
but when I push submit in the database I have the ID Basket and the ID Apple e not the Basket Name and the Apple Name
I have 3 model
@apple, @basket, @table
class Apple belongs_to :tables belongs_to: baskets end
class Basket belongs_to :tables has_many :apples end
class Table has_many :baskets has_many :apples end
and in the @table model I add to line
belongs_to :basket, :class_name => "Basket", :foreign_key => "basket_id" belongs_to :apple, :class_name => "Apple", :foreign_key => "basket_id"
and in the confirmation page I have in the view page
<%= h @table.basket.name %> <%= h @table.apple.name %>
and I saw correctly the name in the webpage side
for Basket I have 'small' for Apple I have 'red'
<p>Basket: <strong> small </strong> </p>
<p>Apple: <strong> red </strong> </p>
after submit I saw in the database recorded not 'small' and 'red' but the ID '3' and '7'
thank you in advance,
C