методов: index, new, create, show, edit, update, destroy.
не пойму зачем вам этот код:
match "blog" => "blog#index"
match 'blog/new' => 'blog#new', :as => 'blog_post_new'
match "/blog/:id" => "blog#show", :as => 'blog_post'
match 'blog/:id/edit' => 'blog#edit', :as => 'blog_post_edit'
его можно заменить на:
resources :blogs
Если все стандартные экшены не нужны используйте параметр :only =>
[:index, :new, :show, :edit]
или :except => [:destroy, :update, :create], но сомневаюсь, что вашем
случае нужны исключения.
Вообще вопрос немного непонятно сформулирован, destroy работает или
нет? Или неработает только для блогов? Если только для блогов, то это
только потому, что вы не написали для него роут.
On Aug 22, 8:05 pm, mystdeim <mystd...@gmail.com> wrote:
> Не могу понять как почему вызывается метод destroy при такой ссылке
> "link_to 'Destroy', role, :confirm => 'Are you sure?', :method
> => :delete".
>
> Создал котроллер, модел, поставил подобную ссылку "link_to 'удалить',
> blog_post_path(post), :method => :delete", написал правила в
> routes.rb, вот срез:
>
> resources :roles
> match "blog" => "blog#index"
> match 'blog/new' => 'blog#new', :as => 'blog_post_new'
> match "/blog/:id" => "blog#show", :as => 'blog_post'
> match 'blog/:id/edit' => 'blog#edit', :as => 'blog_post_edit'
>
> результат rake routes:
>
> roles GET /roles(.:format)
> {:action=>"index", :controller=>"roles"}
> POST /roles(.:format)
> {:action=>"create", :controller=>"roles"}
> new_role GET /roles/new(.:format)
> {:action=>"new", :controller=>"roles"}
> edit_role GET /roles/:id/edit(.:format)
> {:action=>"edit", :controller=>"roles"}
> role GET /roles/:id(.:format)
> {:action=>"show", :controller=>"roles"}
> PUT /roles/:id(.:format)
> {:action=>"update", :controller=>"roles"}
> DELETE /roles/:id(.:format)
> {:action=>"destroy", :controller=>"roles"}
> blog /blog(.:format)
> {:action=>"index", :controller=>"blog"}
> blog_post_new /blog/new(.:format)
> {:controller=>"blog", :action=>"new"}
> blog_post /blog/:id(.:format)
> {:controller=>"blog", :action=>"show"}
> blog_post_edit /blog/:id/edit(.:format)
> {:controller=>"blog", :action=>"edit"}
>
> Что делаю не так? Как заставить вызвать метод destroy?
>
> P.S. Подозреваю, что нужно объявить resources :blogs и переопределять
> в нём уже маршруты.
--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru
Комментариев нет:
Отправить комментарий