Rails link_to method :: delete

I'm sorry that I asked a question about what might be a fix issue, but while studying the rails, I tried to follow the note in this lesson:

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

I posted a similar question from this lesson last night and got a quick answer that helped me a lot, so I hope the same. Thank you in advance.

Section 5.14: Deleting Messages

I was ordered to add a delete link to the index.html.erb page

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

which generates:

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

I'm fine, but when I click on the link, I get neither confirmation nor a link to the delete action. It generates this HTTP action.

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

Rails: 4, Ruby: 2, 64-bit windows 8, chrome: version 28.0.1500.72 m

Thanks again


Adding application.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> 

which gave this error:

ExecJS :: RuntimeError in # index columns Showing C: /Ruby-Projects/listing/app/views/layouts/application.html.erb, where line # 6 is 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 list <% = 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 | Frame Track | Full trace application / views / layouts / application.html.erb: 6: in `_app_views_layouts_application_html_erb___567964991_28724900 'Request

Options:

None


application.js

 //= require jquery //= require jquery_ujs //= require turbolinks //= require_tree . 
+7
html5 ruby-on-rails
source share
3 answers

OK I needed to remove these two lines from the .js application

 //= require turbolinks //= require_tree . 

which got rid of the ExecJS runtime error. Why were they turned on by default, and I have to find out why they cause the error in the first place?

FWIW - now the delete function works.


Props for this entry:

stack overflow

+5
source share

Make sure you have

 //= require jquery //= require jquery_ujs 

to the application.js file and the application.js file is included in the view/layout/application.html.erb file

+11
source share

My product application has the listed js files.

please check if you have all the files in the resource folder.

which automatically loads your post controller.

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

now see my index.erb.html files

 <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 %> 
+2
source share

All Articles