Когда я нажимаю ссылку на удаление, это ничего не делает. Нет уведомления об ошибке. Я получил ответ здесь, чтобы изменить значение по умолчанию в application.html к применениюУдалить ссылку не работает в проекте Ruby on Rails?
<!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>
, когда я пытаюсь изменить этот параметр «по умолчанию», мой сбой приложения. Вот ошибка.
<!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>
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
показать свой код контроллера ... и сказать, если вы используете драгоценный камень или нет? –
Эта проблема возникает из-за того, что вы используете WINDOWS. Вы должны изменить ** приложение ** на ** по умолчанию **, чтобы избежать ** ExecJS :: ProgramError **. Но тогда ваши jquery и jquery_ujs не будут загружены, так как они требуются из вашего приложения.js. Я бы предложил вам перейти из системы WINDOWS или для обучения, вы можете использовать https://c9.io/ – dp7
добавленный код контроллера. –