轨道上的红宝石 3 - 博客删除操作错误



我有一个博客风格的网站,在每篇文章下都有用户登录后通常的"查看"编辑"和"删除"功能。问题是当我单击"删除"它发送给您的"查看"文章页面的链接并且不会删除文章时。无法弄清楚这一点,因为我的代码中的删除和查看路径不同,但做同样的事情......??

class ArticlesController < ApplicationController
  before_filter :authenticate_user!, :except => [:index, :show]
# GET /articles
# GET /articles.xml
# display the amount of article on the home page
def index
@articles = Article.published.page(params[:page]).per(6).ordered
respond_to do |format|
  format.html # index.html.erb
 # format.atom #index.atom.builder
  format.xml  { render :xml => @articles }
end
end

 # GET /articles/1
 # GET /articles/1.xml
def show
  @article = Article.find(params[:id])
  @comment = Comment.new(:article=>@article)
respond_to do |format|
  format.html # show.html.erb
  format.xml  { render :xml => @article }
end
end
...
/

控制器/articles_controller

# DELETE /articles/1.xml
 def destroy
@article = Article.find(params[:id])
 authorize! :destroy, @article
@article.destroy
respond_to do |format|
  format.html { redirect_to(articles_url) }
  format.xml  { head :ok }
  end
 end
end

观点/文章/_article.html.erb

<div class= "art-links">
<%= link_to 'Read', article %>
  <% if can? :update, article %>
 | <%= link_to 'Edit', edit_article_path(article) %> |      
 <% end %>
 <% if can? :destroy, article %>
  <%= link_to 'Delete', article, :confirm => 'Are you sure?', :method => :delete %>
<% end %>
  </div>
<br />

这可能是因为您没有设置正确的 javascript 文件。Rails 3 使用不显眼的 JavaScript 在单击链接时创建DELETE请求。如果 javascript 不起作用,它将回退到执行GET,这将呈现show操作。

确保布局中有rails.jsprototype.js。如果您使用的是 Prototype 以外的 JavaScript 框架,则需要拥有该框架(jQuery 或其他任何框架)以及适当的 rails.js 端口。

此行

format.html { redirect_to(articles_url) }

应该将其发送回您的索引操作,您希望在哪里结束?

这种情况也发生在我的项目中。

我知道原因。这是因为我的应用程序位于app/assets/javascript.js被另一个application.js所取代,当我尝试探索引导程序时,我复制了该应用程序。

我只是简单地将这 3 行加回来:

/

/= 需要 jquery

/

/= 需要jquery_ujs

/

/= 需要 jquery-ui

到顶排的application.js就可以了。

并把这个

在我的应用程序/

视图/布局/应用程序.html.erb

它工作..

如果 jquery 已经安装 n 仍然像我一样错误:D

英语不好:)

相关内容

  • 没有找到相关文章

最新更新