Nie musisz restartować serwera jeżeli zmieniasz pliki w trybie development, tzn jeżeli odpaliłeś serwer zwyczajnym “rails s” bez określania środowiska.
post “test” dodaje ruting dla metody test a nie test3
daj sobie w routes.rb
resources :posts do
post 'test', :on => :member
end
Wpisz w konsoli rake routes i zobacz jakie scieżki zostały dodane do rutingu.
To załatwia w jednym kontrolerze metody: index, new, edit, create, update, destroy, show
A jak chcesz dodać metode test czy test3 to to co napisałem jest jednym ze sposobów.
Jeżeli będziesz dodawał akcje bez sensu to tak. railsy są zaprojektowane z myślą Convention over Configuration. Jeżeli chcesz działać wbrew tym konwencjom proszę bardzo, tylko wtedy nie narzekaj że musisz dużo pisać, dużo zmieniać i jeszcze nic Ci nie działa tak jakbyś chciał.
Weź książkę (tylko broń boże nie po polsku), poczytaj, poznaj pewne zasady którymi rządzi się framework i wtedy bierz się za pisanie
Ok to mam jeszcze jedno małe pytanie i wezmę się za lekturę mam w tym kontrolerze inne metody i te metody system widzi a nie ma wpisanych ich w routers.rb
pstanek@sv13 [~/rails/blog]# rake routes
posts GET /posts(.:format) {:action=>"index", :controller=>"posts"}
POST /posts(.:format) {:action=>"create", :controller=>"posts"}
new_post GET /posts/new(.:format) {:action=>"new", :controller=>"posts"}
edit_post GET /posts/:id/edit(.:format) {:action=>"edit", :controller=>"posts"}
post GET /posts/:id(.:format) {:action=>"show", :controller=>"posts"}
PUT /posts/:id(.:format) {:action=>"update", :controller=>"posts"}
DELETE /posts/:id(.:format) {:action=>"destroy", :controller=>"posts"}
root / {:action=>"index", :controller=>"posts"}
a tej jednej co ja dodałem (TESTOWO) nie ma
ps jak dodam w routers to co mi napisałeś to widzi … no ale inne sa nie wpisane a je widzi …
To co wkleiłeś załatwia linijka resources :posts (poczytaj o REST i dostępie do zasobów), ona dodaje 8 ścieżek do rutingu
Używjąc bloku dodajesz do zasobu dodatkowe ścieżki
resources posts do
post "test", :on => :member
end
Doda linijkę
test_post POST /posts/:id/test(.:format) {:action=>"test", :controller=>"posts"}
[quote=zlw]Jeżeli będziesz dodawał akcje bez sensu to tak. railsy są zaprojektowane z myślą Convention over Configuration. Jeżeli chcesz działać wbrew tym konwencjom proszę bardzo, tylko wtedy nie narzekaj że musisz dużo pisać, dużo zmieniać i jeszcze nic Ci nie działa tak jakbyś chciał.
Weź książkę (tylko broń boże nie po polsku), poczytaj, poznaj pewne zasady którymi rządzi się framework i wtedy bierz się za pisanie ;)[/quote]
E, to nie jest aż tak formalne… to nie J2E ani JBeans… spokojnie na http://guides.rubyonrails.com można znaleść wszystko co jest potrzebne żeby zacząć.