删除链接在这个Ruby on Rails项目中不起作用?

时间:2016-03-23 08:38:48

标签: ruby-on-rails ruby

当我点击删除链接时,它没有做任何事情。没有错误通知。我在这里得到了答案,将application.html中的默认值更改为应用程序

<!DOCTYPE html>
<html>
<head>
  <title>Blog</title>
  <%= stylesheet_link_tag    'default', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'default', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

当我尝试更改&#39;默认&#39;参数,我的应用程序崩溃。这是错误。

<!DOCTYPE html>
    <html>
    <head>
      <title>Blog</title>
      <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
      <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
      <%= csrf_meta_tags %>
    </head>
    <body>

    <%= yield %>

    </body>
    </html>

帖子#index

中的ExecJS :: ProgramError

显示c:/Sites/sample/blog/app/views/layouts/application.html.erb,其中第5行引发: TypeError:Object不支持此属性或方法

以下是我视图中的代码

<h1><%= @post.title %></h1>

<div><%= @post.body %></div>

<%= link_to 'Edit Post', edit_post_path(@post) %>

<%= button_to 'Delete Post', post_path(@post), method: :delete, data: {confirm:
   "Are you sure?"} %>

确认也不起作用。

~~~ CONTROLLER ~~~

class PostsController < ApplicationController
   before_action :find_post, only: [:show, :edit, :update, :destroy]
  def index
     @posts = Post.all.order("created_at DESC")
  end

  def new
   @post = Post.new
  end

  def create
   @post = Post.new(post_params)

   if @post.save
      redirect_to @post
   else
      render 'new'
   end
  end

  def show
  end

  def edit
  end

  def update

     if @post.update(post_params)
        redirect_to @post
     else
        render 'edit'
     end
  end

  def destroy
     @post.destroy
     redirect_to root_path
  end

  private

  def find_post
     @post = Post.find(params[:id])
  end

  def post_params
     params.require(:post).permit(:title, :body)
  end
end

1 个答案:

答案 0 :(得分:0)

删除&#39; data-turbolinks-track =&gt;真正的&#39;来自application.html.erb文件中的javasript_include_tag并仅保留&#39; application&#39;包含文件。