Witam
Mam taki problem:
Stworzyłem plik “new” w którym wypełniam formularz.
Następnie chcę wyświetlić to na nowej stronie (z użyciem szablonu “show”)
Niestety… tworzy się nowy plik ale wpisy z formularza się nie przenoszą…
W czym może być problem?
Plik new.html.erb
Dodaj post
<%= form_for(@ad,:url=>{:action=>‘create’}) do |f| %>
Name
<%= f.text_field :name %>
Description
<%= f.text_area :description %>
Price
<%= f.text_field :price %>
Seller
<%= f.text_field :seller_id %>
Email
<%= f.text_field :email %>
Img url
<%= f.text_field :img_url %>
<%= f.submit "Create" %>
<% end %>Plik ads_controller
class AdsController < ApplicationController
def new
@ad = Ad.new
end
def create
@ad = Ad.new(params[:id])
@ad.save
redirect_to “/ads/#{@ad.id}”
end
def show
@ad = Ad.find(params[:id])
end
def index
@ads = Ad.find(:all)
end
end
Plik create.html.erb
Ad created!
View your ad <a href="/ads/<%= @ad.id %>">here</a>
View your ad <a href="/ads/<%= @ad.id %>">here</a>
Plik routes
Ads::Application.routes.draw do
match ‘/ads/new’, :to => ‘ads#new’
match ‘/ads/create’, :to => ‘ads#create’
match ‘/ads/:id’, :to => ‘ads#show’
match ‘/ads/’, :to => ‘ads#index’
match ‘:controller(/:action(:id(.:format)))’
end
Plik show
Name:<%= @ad.name %>
Description:<%= @ad.description %>
Price:<%= @ad.price %>
Seller Id:<%= @ad.seller_id %>
Email:<%= @ad.email %>
Foto: