Вопрос по Ruby on Rails 3 Routes - PullRequest
       9

Вопрос по Ruby on Rails 3 Routes

0 голосов
/ 22 сентября 2010

При нажатии на ссылку ниже, я перехожу на экран шоу вместо того, чтобы удалить объект.

      <th><%= link_to 'Destroy', blog, :method => :delete %></th>

Контроллер

  def destroy
    @blog = Blog.find(params[:id])
    @blog.destroy

    respond_to do |format|
      format.html { redirect_to(root_path) }
      format.xml  { head :ok }
    end
  end

Что-то должно быть не так в моих маршрутах,может кто-нибудь помочь мне найти ошибку?

PremSite::Application.routes.draw do
  resources :blogs

  resources :portfolios do
    member do
      get 'show_port'
    end
  end

  get "admin/index"

  resources :rosters

  #All the static service pages

  match "bloggers" => 'dashboard#bloggers'

  match "sitemap" => 'dashboard#sitemap'
  match "about" => 'dashboard#about'
  match "about_team" => 'dashboard#about_team'
  match "service" => 'dashboard#service'
  match "portfolio" => 'dashboard#portfolio', :as => 'view'
  match "contact" => 'dashboard#contact'
  match "blogger" => 'dashboard#blogger'
  match "admin" => 'admin#index'

  match "services/web_development" => 'services#web_development'
  match "services/design_brand" => 'services#design_brand'
  match "services/flash_solutions" => 'services#flash_solutions'
  match "services/ecommerce" => 'services#ecommerce'
  match "services/emarket" => 'services#emarket'
  match "services/applications" => 'services#applications'
  match "services/seo_solutions" => 'services#seo_solutions'
  match "services/google_adwords" => 'services#google_adwords'
  match "services/google_analytics" => 'services#google_analytics'
  match "services/website_evaluation" => 'services#website_evaluation'
  match "newsletter/join" => 'newsletter#join'

  root :to=> "dashboard#index"
end

Может кто-нибудь объяснить, где я ошибся?Благодаря.

1 Ответ

1 голос
/ 22 сентября 2010

Используете ли вы драйверы Rails Unobtrusive JavaScript (UJS) для прототипа jQuery?

В Rails 2.3 метод: delete настроил бы некоторые JS в ссылке для отправки запроса в виде сообщения формы с использованием delete'method' (через параметр _method).

Теперь в Rails 3 встроенный JS удален (слава богу!), и вы заметите, что ссылка имеет несколько новых атрибутов, а именно data-method="delete" и,если вы используете опцию подтверждения, data-confirm="Your confirmation message".

Драйвер Rails UJS при загрузке страницы ищет любые ссылки и т. д. с этими атрибутами и прикрепляет к ним события, которые затем выполняют те же действия, что ивстроенный javascript был бы готов.

Если вы используете Prototype, вы можете найти файл UJS в http://github.com/rails/prototype-ujs, и jQuery в http://github.com/rails/jquery-ujs - просто убедитесь, что этот файл загружен после инфраструктуры JS и до файла application.js.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...