рельсы 3 разрушить действие терпит неудачу - PullRequest
1 голос
/ 28 октября 2010

Действие по уничтожению:

def destroy
  @tag = Tag.find(params[:id])
  @tag.destroy

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

Ссылка:

<a href="/tags/14" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Destroy</a>

При нажатии на нее отображается действие шоу.

Started GET "/tags/14" for 127.0.0.1 at Wed Oct 27 18:36:41 -0500 2010
Processing by TagsController#show as HTML
Parameters: {"id"=>"14"}
Tag Load (0.2ms)  SELECT "tags".* FROM "tags" WHERE ("tags"."id" = 14) LIMIT 1
Rendered tags/show.html.erb within layouts/application (8.5ms)
Completed 200 OK in 25ms (Views: 12.1ms | ActiveRecord: 0.2ms)

javascript_include_tag: значения по умолчанию включены в мою страницу, и теги скрипта отображаются правильно. Firebug не дает мне никаких ошибок. Это происходит как в Firefox, так и в Opera.

Ответы [ 2 ]

1 голос
/ 28 октября 2010

Вероятно, именно так вы пишете свой метод link_to.

 <%= link_to "Destroy", tag, :method => :delete, :confirm => "Really?" %>

Попробуйте это.


Убедитесь, что у вас объявлен ресурс в файле rout.rb, как ончто дает этот freebee urls.

в 2.3.8 это

map.resources :tags

в R3 Я действительно не знаю, но у гидов это так

resources :tags
0 голосов
/ 28 октября 2010

Для использования переопределения метода необходимо отправить параметр _method.Для такого действия, как уничтожение, это должна быть форма, которую вы отправляете POST с параметром _method, установленным в delete, вы можете создать форму в JS, если захотите щелкнуть ссылку.

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