我正在使用rails guides在轨道上练习红宝石。在5.13 Deleting Articles部分中,他们展示了如何创建删除(销毁)功能。我正确地执行了步骤,但未显示删除确认对话框,并且文章未被删除。 当我检查chrome开发人员工具时," jquery"和" jquery_ujs"不包括在内," default.js"是空的。 我在Windows 7上的rails上运行ruby。
这是我的文章控制器,
class ArticlesController < ApplicationController
def index
@articles = Article.all
end
def show
@article = Article.find(params[:id])
end
def new
@article = Article.new
end
def edit
@article = Article.find(params[:id])
end
def create
@article = Article.new(article_params)
if @article.save
redirect_to @article
else
render 'new'
end
end
def update
@article = Article.find(params[:id])
if @article.update(article_params)
redirect_to @article
else
render 'edit'
end
end
def destroy
@article = Article.find(params[:id])
@article.destroy
redirect_to articles_path
end
private
def article_params
params.require(:article).permit(:title, :text)
end
end
这是视图(app / views / articles / index.html.erb)
<h1>Listing Articles</h1>
<%= link_to 'New article', new_article_path %>
<table>
<tr>
<th>Title</th>
<th>Text</th>
<th colspan="3"></th>
</tr>
<% @articles.each do |article| %>
<tr>
<td><%= article.title %></td>
<td><%= article.text %></td>
<td><%= link_to 'Show', article_path(article) %></td>
<td><%= link_to 'Edit', edit_article_path(article) %></td>
<td><%= link_to 'Destroy', article_path(article),
method: :delete,
data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</table>
使用this part of the tutorial创建此删除/销毁功能。
编辑:我没有编辑任何js文件,因为此时教程并没有说改变任何js文件,但正如有人在评论中提到的那样我添加了js文件,这就是 application.js 的外观。
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// compiled file.
//
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
// about supported directives.
//
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
编辑2:(在@ NitishParkar的评论之后编辑)
当我跟踪Rails指南时,当我到达this point时,文章控制器的CRUD部分已经完成。这就是列出的文章和链接到&#34;显示&#34;,&#34;编辑&#34;和&#34; destory&#34;看去。
当我检查第一个销毁(删除)链接的来源时,它看起来像这样:<a data-confirm="Are you sure?" rel="nofollow" data-method="delete" href="/articles/1">Destroy</a>
但是当我点击它时,它没有显示任何确认对话框,浏览器跳转到http://localhost:3000/articles/1
,文章也没有被删除。
答案 0 :(得分:1)
一切都在你的身边。你说你在Windows 7上,当我因某些原因需要在Windows上运行rails时,我也遇到过这个问题。比我找到答案here帮我摆脱了这个问题。实际上,coffee-script-source,v 1.9.x在windows上出现问题,所以如果你使用v 1.8.0,这个问题就会消失。
包含在您的Gemfile [MessageContract]
public class UploadStreamMessage
{
[MessageHeader]
public string fileName;
[MessageBodyMember]
public Stream fileContents;
}
而不是gem 'coffee-script-source', '1.8.0'