, "" .
"" , , . RESTful, Rails, : GET, POST, PUT DELETE. .
- GET = > INDEX SHOW
- POST = > CREATE
- PUT = > UPDATE
- DELETE = > DESTROY
"" , NEW EDIT. GET- . NEW POST (CREATE) , EDIT PUT (UPDATE) .
rails, , HTTP- CRUD.
, , , , GET, POST.
, :
<%= link_to 'Run it', :method => 'do_it' %>
... . HTTP, "do_it", . , Rails URL-. , , , url- ?method=do_it .
, . link_to helper : 1, 2 HREF . , :
link_to 'Run it', url
-, , URL- , .
, : , : controller_name#controller_action. pages#show articles#index.
, ExamplesController, :
link_to 'examples#index', '/examples'
link_to 'examples#show', '/examples/123'
link_to 'examples#new', '/examples/new'
link_to 'examples#create', '/examples', :method => :post
link_to 'examples#edit', '/examples/123/edit'
link_to 'examples#update', '/examples/123', :method => :put
link_to 'examples#destroy', '/examples/123', :method => :delete
, INDEX, SHOW, NEW EDIT GET. :method => :get,
, Rails .
, , :
link_to 'examples#index', examples_path
link_to 'examples#show', example_path( @example )
link_to 'examples#new', new_example_path
link_to 'examples#create', examples_path, :method => :post
link_to 'examples#edit', edit_example_path( @example )
link_to 'examples#update', example_path( @example ), :method => :put
link_to 'examples#destroy', example_path( @example ), :method => :delete
, routes.rb. , :
resources :examples
... path_helpers .
RESTful , : , (, ) (, ). , , - , , , .
, :
resources :examples do
collection do
get 'do_it'
end
end
, :
resources :examples do
member do
get 'do_it'
end
end
"get" , - GET , , , POST , . :
resources :examples do
get 'do_it', :on => :collection
post 'something', :on => :member
end
. .
, , rake routes , . , do_it , : do_it_examples_path.
, , :
<%= link_to 'Do it.', do_it_examples_path %>
... do_it. , puts ( rails s , started GET on examples#do_it...).
, GET , . , , , . , , . :)
, , . .