[ROZWIĄZANY]Problem z pierwszą aplikacją

Witam. to mój pierwszy post, jestem początkujący.
Tworze szkielet pierwszej aplikacji na podstawie filmiku

Robię wszystko identycznie jak na filmie. Wszystko działa do chwili uruchomienia localhosta:

NoMethodError in User#index

Proszę o pomoc w razie potrzeby podeśle screena lub kody źródłowe.
Pozdrawiam.

Podeślij to co masz w users_controller.rb, krzyczy że nie ma w kontrolerze funkcji index ogólnie.

class UsersController < ApplicationController

GET /users

GET /users.json

def index
@users = User.all

respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @users }
end

end

GET /users/1

GET /users/1.json

def show
@user = User.find(params[:id])

respond_to do |format|
  format.html # show.html.erb
  format.json { render json: @user }
end

end

GET /users/new

GET /users/new.json

def new
@user = User.new

respond_to do |format|
  format.html # new.html.erb
  format.json { render json: @user }
end

end

GET /users/1/edit

def edit
@user = User.find(params[:id])
end

POST /users

POST /users.json

def create
@user = User.new(params[:user])

respond_to do |format|
  if @user.save
    format.html { redirect_to @user, notice: 'User was successfully created.' }
    format.json { render json: @user, status: :created, location: @user }
  else
    format.html { render action: "new" }
    format.json { render json: @user.errors, status: :unprocessable_entity }
  end
end

end

PUT /users/1

PUT /users/1.json

def update
@user = User.find(params[:id])

respond_to do |format|
  if @user.update_attributes(params[:user])
    format.html { redirect_to @user, notice: 'User was successfully updated.' }
    format.json { head :no_content }
  else
    format.html { render action: "edit" }
    format.json { render json: @user.errors, status: :unprocessable_entity }
  end
end

end

DELETE /users/1

DELETE /users/1.json

def destroy
@user = User.find(params[:id])
@user.destroy

respond_to do |format|
  format.html { redirect_to users_url }
  format.json { head :no_content }
end

end
end

a robiłeś: rake db:migrate

Tak robiłem identycznie jak na filmie na kursie railsforzombies tez tak samo jest jedyna różnica to ze w scaffold niektórzy podają typy kluczy np imie:string

w routes sprawdz czy nie masz literówki

resources :users

wszystkie pliki generowane są z automatu ale sprawdziłem i jest ok.
Możliwe że np brakuje mi jakiegoś pliku/biblioteki w railsach albo np zła wersja ?

Dziwne rzeczy więc równie dziwnie rzucę: a ‘rails s’ w konsolę wpisane? :wink:

Tak tak próbowałem wyłączyć i włączyć serwer tez nic poza tym na localhost:3000 działa strona ruby on rails a na localhost:3000/users już nie.
Próbowałem zarówno /user jak i /users.

komunikat w przeglądarce:

NoMethodError in Users#index

Showing /home/patryk/Pulpit/app/app/views/layouts/application.html.erb where line #5 raised:

undefined method `[]’ for nil:NilClass
Extracted source (around line #5):

2:
3:
4: App
5: <%= stylesheet_link_tag “application”, :media => “all” %>
6: <%= javascript_include_tag “application” %>
7: <%= csrf_meta_tags %>
8:
Rails.root: /home/patryk/Pulpit/app

Application Trace | Framework Trace | Full Trace
app/views/layouts/application.html.erb:5:in _app_views_layouts_application_html_erb___1528004032459113506_70015919514600' app/controllers/users_controller.rb:7:inindex’
Request

Parameters:

None
Show session dump

Show env dump

Response

Headers:

None

pokaż co masz w routes

App::Application.routes.draw do
resources :users

The priority is based upon order of creation:

first created -> highest priority.

Sample of regular route:

match ‘products/:id’ => ‘catalog#view’

Keep in mind you can assign values other than :controller and :action

Sample of named route:

match ‘products/:id/purchase’ => ‘catalog#purchase’, :as => :purchase

This route can be invoked with purchase_url(:id => product.id)

Sample resource route (maps HTTP verbs to controller actions automatically):

resources :products

Sample resource route with options:

resources :products do

member do

get ‘short’

post ‘toggle’

end

collection do

get ‘sold’

end

end

Sample resource route with sub-resources:

resources :products do

resources :comments, :sales

resource :seller

end

Sample resource route with more complex sub-resources

resources :products do

resources :comments

resources :sales do

get ‘recent’, :on => :collection

end

end

Sample resource route within a namespace:

namespace :admin do

# Directs /admin/products/* to Admin::ProductsController

# (app/controllers/admin/products_controller.rb)

resources :products

end

You can have the root of your site routed with “root”

just remember to delete public/index.html.

root :to => ‘welcome#index’

See how all your routes lay out with “rake routes”

This is a legacy wild controller route that’s not recommended for RESTful applications.

Note: This route will make all actions in every controller accessible via GET requests.

match ‘:controller(/:action(/:id))(.:format)’

end

Railsy nie pozwoliłyby Ci uruchomić serwera bez zbundlowania ale na wszelki wypadek zatrzymaj serwer i zrób bundle install. Potem włącz serwer ponownie.

chyba nic nie pomogło ale pojawiło sie cos nowego tym razem inny komunikat w konsoli :smile:

$ rails s
=> Booting WEBrick
=> Rails 3.2.16 application starting in development on http://localhost:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2015-10-28 16:25:24] INFO WEBrick 1.3.1
[2015-10-28 16:25:24] INFO ruby 1.9.3 (2013-11-22) [x86_64-linux]
[2015-10-28 16:25:24] INFO WEBrick::HTTPServer#start: pid=3422 port=3000

Started GET “/users/” for 127.0.0.1 at 2015-10-28 16:25:30 +0100
Connecting to database specified by database.yml
Processing by UsersController#index as HTML
User Load (0.2ms) SELECT “users”.* FROM “users”
Rendered users/index.html.erb within layouts/application (8.0ms)
Completed 500 Internal Server Error in 883.6ms

ActionView::Template::Error (undefined method []' for nil:NilClass): 2: <html> 3: <head> 4: <title>App</title> 5: <%= stylesheet_link_tag "application", :media => "all" %> 6: <%= javascript_include_tag "application" %> 7: <%= csrf_meta_tags %> 8: </head> app/views/layouts/application.html.erb:5:in_app_views_layouts_application_html_erb__128639764330295002_70351665288180’
app/controllers/users_controller.rb:7:in `index’

Rendered /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/templates/rescues/_trace.erb (3.3ms)
Rendered /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/templates/rescues/_request_and_response.erb (2.5ms)
Rendered /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (16.9ms)

Panowie, po 2 dniach szukania UDAŁO SIĘ !!!
fragment informacji w przeglądarce:

4:
5: <%= stylesheet_link_tag “application”, :media => “all” %>
6: <%= javascript_include_tag “application” %>
7: <%= csrf_meta_tags %>
8:

“application” – to tu był problem należało zmienić to na nazwę tabeli bazy danych i o dziwo udało sie wszystko działa wyśmienicie :smile:
zastanawiające jest tylko to dlaczego nie wygenerowało tego automatycznie tak jak na wszystkich poradnikach ? :smile:

Dzięki wszystkim za zaangażowanie. :smile:
Pozdrawiam i do zamknięcia.