2013-07-19 8 views
7

przykro mi pytać, co może być pytanie zaradczych, ale w szynach uczenia starałem się podążać nuta po nucie w tym tutorialu:Szyny link_to metody:: usuwanie

http://guides.rubyonrails.org/getting_started.html

Zamieściłem podobne pytanie z tego tutoriala zeszłej nocy i otrzymałem szybką odpowiedź, która pomogła mi znacząco, więc mam nadzieję na to samo. Z góry dziękuję.

Sekcja 5.14: Usuwanie postów

mi polecił, aby dodać link do usuwania index.html.erb stronie

<h1>Listing Posts</h1> 
<table> 
    <tr> 
    <th>Title</th> 
    <th>Text</th> 
    <th></th> 
    <th></th> 
    <th></th> 
    </tr> 

<% @posts.each do |post| %> 
    <tr> 
    <td><%= post.title %></td> 
    <td><%= post.text %></td> 
    <td><%= link_to 'Show', post_path %></td> 
    <td><%= link_to 'Edit', edit_post_path(post) %></td> 
    <td><%= link_to 'Destroy', post_path(post), 
        method: :delete, data: { confirm: 'Are you sure?' } %></td> 
    </tr> 
<% end %> 
</table> 

który generuje:

<td><a data-confirm="Are you sure?" data-method="delete" href="/posts/1" rel="nofollow">Destroy</a></td> 

Wygląda OK mnie, ale gdy kliknę link, nie otrzymuję potwierdzenia ani nie jestem przekierowywany do akcji usuwania. Generuje tę czynność http

Request URL:http://localhost:3000/posts/1 
Request Method:GET 
Status Code:200 OK 

szyn: 4, Ruby: 2, 64 bitowy Windows 8, Chrome: Wersja 28.0.1500.72 m

Dziękuję ponownie


Dodawanie aplikacji. html.erb

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

<%= yield %> 

</body> 
</html> 

co dało ten błąd:

ExecJS::RuntimeError in Posts#index Showing C:/Ruby-Projects/listing/app/views/layouts/application.html.erb where line #6 raised:

(in C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/turbolinks-1.3.0/lib/assets/javascripts/turbolinks.js.coffee) Extracted source (around line #6): 3 4 5 6 7 8 9 Listing <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %> <%= javascript_include_tag :application %> <%= csrf_meta_tags %>

Rails.root: C:/Ruby-Projects/listing

Application Trace | Framework Trace | Full Trace app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___567964991_28724900' Request

Parameters:

None


application.js

//= require jquery 
//= require jquery_ujs 
//= require turbolinks 
//= require_tree . 
+0

Czy masz '<% = javascript_include_tag: applicaton%>' w układzie? –

+0

Kiedy dodaję, daje mi błąd – akaphenom

+0

Upewnij się, że twój "JavaScript" jest poprawny. –

Odpowiedz

11

Sprawdź, czy masz

//= require jquery 
//= require jquery_ujs 

do application.js pliku i application.js plik jest wliczone w view/layout/application.html.erb pliku

+0

Myślę, że mam zawarte w application.js, w jaki sposób mogę zapewnić, że application.js jest wliczony przez application.erb? – akaphenom

+0

Dodaj tę linię '<% = javascript_include_tag" application "," data-turbolinks-track "=> true%>' do pliku 'application.html.erb' – benchwarmer

2

mój wniosek ten produkt nie wymienione JS.

Czy możesz sprawdzić, czy masz wszystkie pliki w folderze zasobów.

który automatycznie ładuje kontroler poczty.

<script src="/assets/jquery.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script> 
<script src="/assets/products.js?body=1" type="text/javascript"></script> 
<script src="/assets/say.js?body=1" type="text/javascript"></script> 
<script src="/assets/application.js?body=1" type="text/javascript"></script> 

teraz zobaczyć moje index.erb.html pliki

<h1>Listing products</h1> 

<table> 
<tr> 
<th>title</th> 
<th>Description</th> 
<th>Image url</th> 
<th>Price</th> 
<th></th> 
<th></th> 
<th></th> 
</tr> 

<% @products.each do |product| %> 
<tr class="<%= cycle('list_line_odd','list_line_even') %>"> 
<td><%= product. title %></td> 
<td><%= product.description %></td> 
<td><%= product.image_url %></td> 
<td><%= product.price %></td> 
<td><%= link_to 'Show', product %></td> 
<td><%= link_to 'Edit', edit_product_path(product) %></td> 
<td><%= link_to 'Destroy', product, method: :delete, data: { confirm: 'Are you sure?' } 
%></td> 
</tr> 
<% end %> 
</table> 

<br/> 

<%= link_to 'New Product', new_product_path %> 
+0

hej @supercool Zignorowałem to całkowicie w wypadku !! Nie zdawałem sobie z tego sprawy aż do tej chwili i najwyraźniej nie mogę cofnąć mojej zgody, dopóki nie zostanie wprowadzona zmiana ... nie próbując skrzywdzić twojego S.O. cred, więc może uda ci się dokonać minimalnej edycji (dodać losową przestrzeń itp.) i mogę wyczyścić moje argumenty. – vosmith

Powiązane problemy