我的应用程序在开发环境中运行时工作正常.在production(rails server -e production)中,浏览器无法访问css和js文件,并且在控制台上有以下消息:
I, [2013-07-27T21:00:59.105459 #11449] INFO -- : Started GET "/javascripts/application.js" for 99.102.22.124 at 2013-07-27 21:00:59 +0000
F, [2013-07-27T21:00:59.108302 #11449] FATAL -- :
ActionController::RoutingError (No route matches [GET] "/javascripts/application.js"):
Run Code Online (Sandbox Code Playgroud)
在生产环境中来自html源头部分:
<head>
<title>a Social Server</title>
<link data-turbolinks-track="true" href="/stylesheets/application.css" media="all" rel="stylesheet">
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">
<script data-turbolinks-track="true" src="/javascripts/application.js"></script>
<meta content="authenticity_token" name="csrf-param">
<meta content="jYM4IAXTXAuKWeD4FEVrXgXRNFeB6EazU68ZBQfRqNY=" name="csrf-token">
</head>
Run Code Online (Sandbox Code Playgroud)
另一方面,在开发环境中,头部看起来像:
<head>
<title>a Social Server</title>
<link data-turbolinks-track="true" href="/assets/application.css?body=1" media="all" rel="stylesheet">
<link data-turbolinks-track="true" href="/assets/twitter-bootstrap-static/bootstrap.css?body=1" media="all" rel="stylesheet">
<link data-turbolinks-track="true" href="/assets/twitter-bootstrap-static/fontawesome.css?body=1" media="all" rel="stylesheet">
<link data-turbolinks-track="true" href="/assets/bootstrap_and_overrides.css?body=1" media="all" …Run Code Online (Sandbox Code Playgroud) 我想使用以下代码删除帖子:
<%= link_to 'Destroy', post, :method => :delete, :onclick => "return confirm('Are you sure you want to delete this post?')" %>
Run Code Online (Sandbox Code Playgroud)
这不起作用......它只是将我重新定向回帖子 (posts/:id}
但是,如果我使用以下代码,它的工作原理
<%= button_to 'Destroy', post, method: :delete, :onclick => "return confirm('Are you sure you want to delete this post?')" %>
Run Code Online (Sandbox Code Playgroud)
是否可以link_to像button_to这种情况一样表现?
编辑:破坏控制器功能
def destroy
@post = Post.find(params[:id])
@post.destroy
respond_to do |format|
format.html { redirect_to posts_url }
format.json { head :no_content }
end
end
Run Code Online (Sandbox Code Playgroud)
单击"销毁"按钮时记录:
Started GET "/posts/14" for 127.0.0.1 at 2012-10-21 15:38:28 +0300 …Run Code Online (Sandbox Code Playgroud) 我用他的rails引擎来创建一个演示应用程序.一切正常,除了"Destroy"功能deos什么都不做.没有错误消息.
任何人都可以猜到为什么没有任何事情会发生,即使没有错误信息?
功能(自动创建)是:
def destroy
@term = Term.find(params[:id])
@term.destroy
respond_to do |format|
format.html { redirect_to terms_url }
format.json { head :ok }
end
end
Run Code Online (Sandbox Code Playgroud)
而HTMl部分是:
<td><%= link_to 'Destroy', term, confirm: 'Are you sure?', method: :delete %></td>
Run Code Online (Sandbox Code Playgroud)
我甚至没有收到确认问题.已选中,并启用了JavaScript.