Rails - ActiveRecord::RecordNotFound in AdsController#show

0

Witam, po zmianach w pliku show.html.erb wyskakuje mi taki błąd, próbowałem już różnych opcji i nic. Dodałem tylko te wartości w znacznikach <%= ... %>
localhost:3000/ads/3

ActiveRecord::RecordNotFound in AdsController#show
Couldn't find Ad with 'id'=3

Extracted source (around line #3):
1
2
3
4
5
6
              
class AdsController < ApplicationController
	def show
		@ad = Ad.find(params[:id])
	end
	
end

Rails.root: /home/userek/Rails/mebay/mebay

Application Trace | Framework Trace | Full Trace
app/controllers/ads_controller.rb:3:in `show'
Request

Parameters:

{"id"=>"3"}

shwo.html.erb

<html>
<head>
<title><%= @ad.name %></title>
</head>
<body>
	<p>
		<b>Name:</b><%= @ad.name %>
	</p>
	<p>
		<b>Description:</b><%= @ad.description %>
	</p>
	<p>
		<b>Price:</b><%= @ad.price %>
	</p>
	<p>
		<b>Seller Id:</b><%= @ad.seller_id %>
	</p>
	<p>
		<b>Email:</b><%= @ad.email %>
	</p>
	<p>
		<img src="<%= @ad.img_url %>"/>
	</p>
</body>

</html>

routes.rb

Rails.application.routes.draw do
 resources :ads, only: :show
end

ads.controller.rb

class AdsController < ApplicationController
	def show
		@ad = Ad.find(params[:id])
	end
	
end

0

Nie masz obiektu Ad o id równym 3. Spróbuj localhost:3000/ads/1, localhost:3000/ads/2, ewentualnie dodaj obiekty Ad do bazy danych

0

No niby tam jest objekt 3 zobacz sam.
http://www85.wyslij-plik.pl/pokaz/811357---s86y.html
Możesz edytować sqlite3 np sqliteman aby ją przejrzeć.
http://www.rozszerzenie.pl/plik/sqlite

0

Wiesz bo ja zastępuje dane w tabeli tym plikiem development.sqlite3 i wtedy pojawia mi się komunikat:

ActiveRecord::PendingMigrationError
Migrations are pending. To resolve this issue, run: bin/rake db:migrate RAILS_ENV=development

Extracted source (around line #392):
390
391
392
393
394
395
              

      def check_pending!(connection = Base.connection)
        raise ActiveRecord::PendingMigrationError if ActiveRecord::Migrator.needs_migration?(connection)
      end

      def load_schema_if_pending!

A jak wykonam
rake db:drop

rake db:migrate

czy nawet
rake db:migrate RAILS_ENV=development

No to mi czyści wpisy w tej tabeli w bazie danych. To jak można zachować te dane z podmienionym plikiem sqlite3?

1 użytkowników online, w tym zalogowanych: 0, gości: 1