当我点击删除链接时,它没有做任何事情。没有错误通知。我在这里得到了答案,将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
答案 0 :(得分:0)
删除&#39; data-turbolinks-track =&gt;真正的&#39;来自application.html.erb文件中的javasript_include_tag并仅保留&#39; application&#39;包含文件。