Elementarny problem z scaffold

Witam,
czytam książkę “Ruby on Rails wprowadzenie” i natknąłem się na pewien problem. Doszedłem już do tego, że w najnowszych railsach nie ma dynamicznego scaffoldingu.
Mimo to stworzylem projekt, baze i pierwszy controller.
Sprawdzilem w phpmyadmin, ze baza została stworzona.

Problem polega na tym, ze gdy wydaje polecenie script/generate scaffolding user, generuje sie poprawnie viewsy, jednak controllery pozostają bez zmian. Musze je sobie z palca napisać sam? Rusztowanie w tym wypadku bardzo by mi sie przydało.

Proszę o pomoc i pozdrawiam

Sprawdź wynik działania script/generate scaffolding - tam jest dokładnie napisane, jakie pliki są tworzone, a jakie modyfikowane. Być może jest po drodze jakiś błąd i dlatego kontrolery nie są generowane.

Hmm - nie wiem dlaczego ten sam komentarz pojawił się trzy razy… Jak usunę jeden, to znikają wszystkie.

oki@nil:~/tmp$rails test
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create config/initializers
create db
create doc

create public/javascripts/application.js
create doc/README_FOR_APP
create log/server.log
create log/production.log
create log/development.log
create log/test.log
oki@nil:~/tmp/test$ ./script/generate scaffold user first:string last:string
exists app/models/
exists app/controllers/
exists app/helpers/
create app/views/users
exists app/views/layouts/
exists test/functional/
exists test/unit/
create app/views/users/index.html.erb
create app/views/users/show.html.erb
create app/views/users/new.html.erb
create app/views/users/edit.html.erb
create app/views/layouts/users.html.erb
create public/stylesheets/scaffold.css
dependency model
exists app/models/
exists test/unit/
exists test/fixtures/
create app/models/user.rb
create test/unit/user_test.rb
create test/fixtures/users.yml
create db/migrate
create db/migrate/001_create_users.rb
create app/controllers/users_controller.rb
create test/functional/users_controller_test.rb
create app/helpers/users_helper.rb
route map.resources :users
oki@nil:~/tmp/test$ head app/controllers/users_controller.rb
class UsersController < ApplicationController

GET /users

GET /users.xml

def index
@users = User.find(:all)

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

Jak widac wszystko jest ok :slight_smile:

Dziekuje za pomoc.
Zrobilem jak wkleiles i zaskoczylo.
Nie wiem w czym tkwil problem. Mozliwe ze w tym ze najpierw wygenerowalem model ?
Jeszcze raz dzieki

Mam dodatkowe pytanie do tego wątku:

Gdy mam już utworzone rusztowanie poprzez komendę ruby script/generate scaffold user first:string last:string to jak mogę je zaktualizować? O np. dodanie nowej zmiennej do rusztowania?

Z góry dzieki.

  1. Możesz usunąć stare pliki rusztowania i wygenerować rusztowanie raz jeszcze. Trudne, bo trzeba znaleźć te pliki i mieć pewność, że nic się w nich nie zmieniało.
  2. Możesz po prostu dopisać nowe atrybuty. Łatwe, bo praktycznie wystarczy rozszerzyć widoki o wyświetlanie i nowe pole w formularzu i dopisanie jednej migracji.

Dzięki - co prawda nadal nic nie rozumiem, ale już wiem czego szukać :slight_smile: I ostatnie pytanie - czy jest już jakaś książka, która nie opisuje dynamicznych rusztowań tylko stosuje się już do nowej zasady rusztowań statycznych? Bo mam książki z firmy w której pracuje, ale wszystkie opisują rusztowania dynamiczne. Czy istnieje jakaś aktualna lektura?

Pomyłka - jeszcze jedno pytanie - czy można pisać w Rails-ach bez rusztowań - czyli wszystko samemu kodować? I czy jest gdzieś info jak to robić?

Wtf? touch app/controllers/jakis_controller.rb, touch app/models/jakis_model.rb etc.? Można “manualnie”, ale po co, skoro są generatory? Wygeneruj sobie, a potem wyedytuj …

to najprostsze rozwiązanie, poszukaj o form helpers

np. tu:
http://apohllo.pl/guides/form_helpers.html

Skorzystam z okazji że temat odpowiedni… czym się różni scaffold od nifty_scaffold ??

tjeden: usunąć scaffold można: ./script/destroy scaffold foo