I have a form for creating ads.
Controllers
def edit @engines = Engine.all @car = Car.find(params[:id]) end def update @car = Car.find(params[:id]) if @car.save redirect_to root_path end end
My routes:
resources :adverts
Create.html.erb
<%= form_for @car, :url => adverts_path do |f| %> <div><%= f.label :name %><br /> <%= f.text_field :name %></div> <%= hidden_field_tag :model_id, params[:model_id] %> <%= select_tag :engine_id, options_from_collection_for_select(@engines, "id", "name",:selected=>@car.engine_id) %> <div><%= f.submit "Create car!" %></div> <% end %>
I can create an ad, but I canβt update it.
edit.html.erb
<%= form_for @car, :url => adverts_path do |f| %> <div><%= f.label :name %><br /> <%= f.text_field :name %></div> <%= hidden_field_tag :model_id, params[:model_id] %> <%= select_tag :engine_id, options_from_collection_for_select(@engines, "id", "name",:selected=>@car.engine_id) %> <div><%= f.submit "Update car!" %></div> <% end %>
when I submitted my form, I have an error - There are no links to the route [PUT] "/ adverts
$ rake routes:
adverts GET /adverts(.:format) adverts#index POST /adverts(.:format) adverts#create new_advert GET /adverts/new(.:format) adverts#new edit_advert GET /adverts/:id/edit(.:format) adverts#edit advert GET /adverts/:id(.:format) adverts
I need help.
source share