link_to with:method =&gt ;:删除不在Rails 3中工作

时间:2012-01-07 18:00:40

标签: ruby-on-rails ruby-on-rails-3

我无法使用:method =>获取我的link_to帮助器:删除以销毁对象

我的应用就像这样

aplication.html.erb

    <!--<!DOCTYPE html>
    <html>
    <head>
      <title>Taskprogect</title>
      <%= stylesheet_link_tag :all %>
    <%= javascript_include_tag :defaults %>
    <%= csrf_meta_tag %>
    </head>
    <body>
    <%= yield %>
    </body>
    </html>-->
    <h1>Application layout!</h1>
    <%= yield %>

tasks_controller.rb

      def destroy
        Task.find(params[:id]).destroy
        flash[:success] = "Task destroyed."
        redirect_to tasks_path
      end

index.html.erb

  <%= link_to "delete", task, :method => :delete, :confirm => "You sure?",
  :title => "Delete #{task.name}" %>

的routes.rb

    Taskprogect::Application.routes.draw do

      resources :projects
      resources :tasks

    end

并且link_to不起作用,在以前的应用程序中有效,也许我在routes.rb中做了一些不好的事情?

有什么想法吗?谢谢!

可以添加一些确认信,例如“你确定吗?” to button_to helper?

2 个答案:

答案 0 :(得分:3)

布局模板的整个头部已被注释掉,这意味着javascript include已被注释掉,这意味着没有为:method => :delete链接添加魔法的JS。

答案 1 :(得分:1)

当页面实际呈现时,您可以在Web浏览器中查看html源吗? 如果您使用的是jQuery,则应该看到对jQuery源文件的引用。

for example:

<script src="/public/javascripts/jquery.js?body=1" type="text/javascript"></script>
<script src="/public/javascripts/jquery_ujs.js?body=1" type="text/javascript"></script>

然后,检查是否存在这些物理jquery源文件?那可能是失踪的。如果是这种情况,只需将这些丢失的文件复制到预定位置即可。

希望这有帮助。