我的应用程序在开发环境中运行时工作正常.在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无法正常运行.在终端中,它总是将其解释为#SHOW.
在阅读类似问题时,我了解到删除必须转换为POST以供浏览器解释.这似乎没有发生.
我也在Lynda.com Rails课程中使用Destroy遇到了同样的问题,所以它让我相信它是我开发环境中的东西.我在MacBook Pro Lion上使用Rails 4,Ruby 2.00p274,MySQL,WEBrick作为HTTP服务器.
在选择Destroy时的终端会话中:
Started GET "/posts/4" for 127.0.0.1 at 2013-08-09 13:45:20 -0600
Processing by PostsController#show as HTML
Parameters: {"id"=>"4"}
Post Load (0.6ms) SELECT "posts".* FROM "posts" WHERE "posts"."id" = ? LIMIT 1 [["id", "4"]]
Rendered posts/show.html.erb within layouts/application (0.4ms)
Completed 200 OK in 13ms (Views: 8.6ms | ActiveRecord: 0.6ms)
Run Code Online (Sandbox Code Playgroud)
在ports-controller.rb中:
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to action: :index
end
Run Code Online (Sandbox Code Playgroud)
在index.html.erb中:
<% @posts.each do |post| %>
<tr>
<td><%= post.title %></td>
<td><%= post.text %></td> …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个销毁链接到我的用户控制器,我也在使用设计.
这是我的代码 -
<%= link_to 'Delete User?', child, :confirm => "Are you sure you want to delete #{child.full_name}?", :method => :delete, :class => "user-additional", :style => "font-size:12px;font-weight:normal;" %>
Run Code Online (Sandbox Code Playgroud)
def destroy
if @user = User.find(params[:id])
@user.destroy
respond_to do |format|
format.html { redirect_to account_index_path }
format.xml { head :ok }
end
end
end
Run Code Online (Sandbox Code Playgroud)
devise_for :users
resources :users, :except => [:new]
Run Code Online (Sandbox Code Playgroud)
该链接转换为localhost:3000/users/10
单击此按钮将打开用户显示而不是删除它们
有任何想法吗 ?
我正在使用设计
sign_in和sign_up网址正在工作
但是,当我尝试网址时: http://localhost:3000/users/sign_out
它会产生路由错误
No route matches [GET] "/users/sign_out"
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
rake routes
new_user_session GET /users/sign_in(.:format) {:action=>"new", :controller=>"devise/sessions"}
user_session POST /users/sign_in(.:format) {:action=>"create", :controller=>"devise/sessions"}
destroy_user_session DELETE /users/sign_out(.:format) {:action=>"destroy", :controller=>"devise/sessions"}
user_password POST /users/password(.:format) {:action=>"create", :controller=>"devise/passwords"}
new_user_password GET /users/password/new(.:format) {:action=>"new", :controller=>"devise/passwords"}
edit_user_password GET /users/password/edit(.:format) {:action=>"edit", :controller=>"devise/passwords"}
PUT /users/password(.:format) {:action=>"update", :controller=>"devise/passwords"}
cancel_user_registration GET /users/cancel(.:format) {:action=>"cancel", :controller=>"devise/registrations"}
user_registration POST /users(.:format) {:action=>"create", :controller=>"devise/registrations"}
new_user_registration GET /users/sign_up(.:format) {:action=>"new", :controller=>"devise/registrations"}
edit_user_registration GET /users/edit(.:format) {:action=>"edit", :controller=>"devise/registrations"}
PUT /users(.:format) {:action=>"update", :controller=>"devise/registrations"}
DELETE /users(.:format) {:action=>"destroy", :controller=>"devise/registrations"}
status_message_index …Run Code Online (Sandbox Code Playgroud) 我正在使用Rails 3,我有一个link_to方法:delete,但是当我点击这个链接时,它会转到show动作而不是destroy动作.
我的问题是如何解决这个问题?
提前致谢.
码: <%= link_to 'Delete', list_path(@list.id), :method => :delete, :confirm => 'Are you sure?' %>
我使用gem'twitter-bootstrap-rails'作为rails bootstrap
我在页面Rails代码上有一些链接
<td><%= link_to 'Destroy', swimming_classschedule, method: :delete, data: { confirm: 'Are you sure?' } %></td>
<li> <%= link_to "Logout", destroy_user_session_path, method: :delete, :class => 'navbar-link' %> </li>
Run Code Online (Sandbox Code Playgroud)
HTML代码:
<a href="/users/sign_out" class="navbar-link" data-method="delete" rel="nofollow">Logout</a>
<td><a href="/swimming/students/1" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Destroy</a></td>
<td><a href="/swimming/students/3" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Destroy</a></td>
Run Code Online (Sandbox Code Playgroud)
每当我点击删除学生时我都会退出.我完全糊涂了
所以我的问题,从我可以看出,似乎是ruby没有加载它的所有javascript文件,因为我没有得到确认消息和link_to与方法:: delete对我没有任何作用.
随着默认设置提供给我rails新
views/layouts/application.html.erb head section如下.
<head>
<title>Myrubyblog</title>
<%= stylesheet_link_tag 'default', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'default', 'data-turbolinks-track' => true%>
<%= csrf_meta_tags %>
</head>
Run Code Online (Sandbox Code Playgroud)
这给了我错误
Started GET "/posts" for 127.0.0.1 at 2015-02-27 02:14:57 -0600
ActiveRecord::SchemaMigration Load (0.0ms) SELECT "schema_migrations".* FROM "schema_migrations"
Processing by PostsController#index as HTML
Post Load (1.0ms) SELECT "posts".* FROM "posts"
Rendered posts/index.html.erb within layouts/application (11.0ms)
Completed 200 OK in 76ms (Views: 54.0ms | ActiveRecord: 4.0ms)
Started GET "/stylesheets/default.css" for 127.0.0.1 at 2015-02-27 02:14:58 -0600 …Run Code Online (Sandbox Code Playgroud)