2016-03-23 2 views
0

Wenn ich auf den Link zum Löschen klicke, wird nichts unternommen. Es gibt keine Fehlermeldung. Ich habe hier beantworten den Standard in application.html zu AnwendungLink zum Löschen funktioniert nicht in diesem Ruby on Rails-Projekt?

<!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> 

zu ändern, wenn ich versuche, dass ‚default‘ zu ändern Parameter, meine Anwendung zum Absturz bringen. Hier ist der Fehler.

<!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 in Beiträge # Index

Angezeigt c: /Sites/sample/blog/app/views/layouts/application.html.erb wo Zeile # 5 angehoben: Typeerror: Object diese Eigenschaft nicht oder Methode

Hier ist der Code auf meiner Ansicht

<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?"} %> 

die Bestätigung auch nicht funktioniert.

~~~ 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

zeigen Sie Ihren Controller-Code ... und sagen Sie mir, ob Sie mit Juwel arbeiten oder nicht? –

+0

Dieses Problem tritt auf, weil Sie WINDOWS verwenden. Sie müssen ** Anwendung ** zu ** Standard ** ändern, um ** ExecJS :: ProgramError ** zu vermeiden. Aber dann werden Ihre jquery und jquery_ujs nicht geladen, da sie von Ihrer application.js benötigt werden. Ich würde vorschlagen, dass Sie aus WINDOWS-System herausziehen oder für Lernzwecke können Sie https://c9.io/ – dp7

+0

Controller-Code hinzugefügt. –

Antwort

0

Remove 'Daten-turbolinks-track => true' aus javasript_include_tag aus application.html.erb Datei und halten nur 'Anwendung' Datei enthalten.

+0

Es gibt immer noch einen Fehler .. ExecJS :: ProgramError in Beiträgen # Index c Angezeigt: /Sites/sample/blog/app/views/layouts/application.html.erb wo Zeile # 5 angehoben: Typeerror: Object unterstützt diese Eigenschaft oder Methode Rails.root: c:/Sites/sample/Blog Blog <% = stylesheet_link_tag 'Anwendung', Medien : ' all ',' data-turbolinks-track '=> true%> true%> -> <% = javascript_include_tag 'Anwendung' %> <% = csrf_meta_tags%> <%= yield %> –

+0

Bitte vergewissere dich, dass du 'uglifier' in dein Gemfile eingefügt hast. –

+0

Wo finde ich meine Gemfile? –

Verwandte Themen