So I am a beginner in ROR, like I know it for a month (school assignment and we don’t get a cursus we need to use ‘google’)
So I want a dropdown box with a list of all my cities. Then if I pick a city I need to save the city_id in my database together with the date. The code I have so far seem to work except when I click on save it says that city is empty (and it can’t be empty because of the failsave)
this is my code
<div class="field">
<%= f.label :stad_id %><br />
<% cities_array = Stad.all.map { |stad| [stad.naam, stad.land] } %>
<%= select_tag(Stad, options_for_select(cities_array)) %>
</div>
<div class="field">
<%= f.label :datum %><br />
<% datum = Time.now.to_s(:db) %>
<%= f.text_field :datum, :value => datum.inspect, :readonly => true %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
I don’t really know what I am doing wrong except I have an eery feeling I don’t actually give the command to save it.
help is much thanked
sincerely
Robin
There are a few things I notice here that are wrong.
1) Put the creation of the cities_array into your controller, not in your view:
2) When creating your cities_array, you need to specify the ID of the city as the second parameter, like this:
3) The select_tag call isn’t for Stad, it’s for the model you’re trying to save. For example, your form might look like this:
I hoep this clears things up for you.