- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在学习 Michael Hartl 在 http://ruby.railstutorial.org 上的 Ruby on Rails 教程.我在第 11 章遇到问题,特别是在尝试删除微博时。
我和这个用户有同样的问题 Routing Error No route matches [GET] "/microposts/304" .他能够通过注释掉 jQuery gem 来解决问题并且它起作用了。然而,我就没那么幸运了。
这是我当前的 Gemfile:
source 'http://rubygems.org'
gem 'rails', '3.1.1'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
gem 'gravatar_image_tag', '1.0.0.pre2'
gem 'will_paginate', '3.0.pre2'
gem 'jquery-rails'
gem 'pg'
group :development do
gem 'faker', '0.3.1'
end
# Gems used only for assets and not required
# in production environments by default.
#group :assets do
# gem 'sass-rails', '~> 3.1.4'
# gem 'coffee-rails', '~> 3.1.1'
# gem 'uglifier', '>= 1.0.3'
#end
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# Use unicorn as the web server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'
group :test do
# Pretty printed test output
gem 'turn', :require => false
end
=> 一个简短的旁注:一个错误 No Javascript runtime on windows when running rails server当我运行 rails server
命令时不断出现,但一旦我注释掉 'sass-rails'
、'coffee-rails'
和 'uglifier'
gems 它将成功运行。我使用的是 Windows PC,有人告诉我这可能是 Windows 机器的特定问题。
此外,这是我的 bundle install
命令的当前结果:
Using rake (0.9.2.2)
Using multi_json (1.0.3)
Using activesupport (3.1.1)
Using builder (3.0.0)
Using i18n (0.6.0)
Using activemodel (3.1.1)
Using erubis (2.7.0)
Using rack (1.3.5)
Using rack-cache (1.1)
Using rack-mount (0.8.3)
Using rack-test (0.6.1)
Using hike (1.2.1)
Using tilt (1.3.3)
Using sprockets (2.0.3)
Using actionpack (3.1.1)
Using mime-types (1.17.2)
Using polyglot (0.3.3)
Using treetop (1.4.10)
Using mail (2.3.0)
Using actionmailer (3.1.1)
Using arel (2.2.1)
Using tzinfo (0.3.31)
Using activerecord (3.1.1)
Using activeresource (3.1.1)
Using ansi (1.4.1)
Using bundler (1.0.21)
Using faker (0.3.1)
Using gravatar_image_tag (1.0.0.pre2)
Using rack-ssl (1.3.2)
Using json (1.6.1)
Using rdoc (3.11)
Using thor (0.14.6)
Using railties (3.1.1)
Using jquery-rails (1.0.17)
Using pg (0.11.0)
Using rails (3.1.1)
Using sqlite3 (1.3.4)
Using turn (0.8.3)
Using will_paginate (3.0.pre2)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem
is installed.
我不确定如何解决这个问题。 是否需要安装特定的 gem 才能使删除方法起作用?感谢您的帮助!
这是 rake routes
输出:
(in C:/rails_projects/sample_app)
users GET /users(.:format) {:action=>"index", :controller=>"us
ers"}
POST /users(.:format) {:action=>"create", :controller=>"u
sers"}
new_user GET /users/new(.:format) {:action=>"new", :controller=>"user
s"}
edit_user GET /users/:id/edit(.:format) {:action=>"edit", :controller=>"use
rs"}
user GET /users/:id(.:format) {:action=>"show", :controller=>"use
rs"}
PUT /users/:id(.:format) {:action=>"update", :controller=>"u
sers"}
DELETE /users/:id(.:format) {:action=>"destroy", :controller=>"
users"}
sessions POST /sessions(.:format) {:action=>"create", :controller=>"s
essions"}
new_session GET /sessions/new(.:format) {:action=>"new", :controller=>"sess
ions"}
session DELETE /sessions/:id(.:format) {:action=>"destroy", :controller=>"
sessions"}
microposts POST /microposts(.:format) {:action=>"create", :controller=>"m
icroposts"}
micropost DELETE /microposts/:id(.:format) {:action=>"destroy", :controller=>"
microposts"}
signup /signup(.:format) {:controller=>"users", :action=>"ne
w"}
signin /signin(.:format) {:controller=>"sessions", :action=>
"new"}
signout /signout(.:format) {:controller=>"sessions", :action=>
"destroy"}
contact /contact(.:format) {:controller=>"pages", :action=>"co
ntact"}
about /about(.:format) {:controller=>"pages", :action=>"ab
out"}
help /help(.:format) {:controller=>"pages", :action=>"he
lp"}
root / {:controller=>"pages", :action=>"ho
me"}
下面是使用删除方法的部分 View 文件:
<tr>
<td class="micropost">
<span class="content"><%= micropost.content %></span>
<span class="timestamp">
Posted <%= time_ago_in_words(micropost.created_at) %> ago.
</span>
</td>
<% user = micropost.user rescue User.find(micropost.user_id) %>
<% if current_user?(user) %>
<td>
<%= link_to "delete", micropost, :method => :delete,
:confirm => "You sure?",
:title => micropost.content %>
</td>
<% end %>
</tr>
同样,源码可以在Github上查看https://github.com/railstutorial/sample_app ,它似乎无法在我的机器上正常运行,这让我相信它与此 user's 类似。问题。
最佳答案
我认为您错过了这两者之一。
//= require jquery
//= require jquery_ujs
我不小心删除了//= require jquery_ujs,这给了我同样的问题。
关于jquery - 路由错误没有路由匹配 [GET] "/microposts/304 - Deleting a Micropost - Michael Hartl' s railstutorial.org 第 11 章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8236124/
我正在学习 Michael Hartl 在 http://ruby.railstutorial.org 上的 Ruby on Rails 教程.我在第 11 章遇到问题,特别是在尝试删除微博时。 我和
以前可以,为什么现在不行了?我试图仅由登录用户创建帖子。还是我的路由问题?我的路由是资源:用户做资源:微博结束 微博 Controller def create @micropost = cu
在Hartl Rails教程章节13.4.1 Basic image upload我们添加了用于图像上传的载波 gem。 但是,在生成 uploader 并将迁移添加到 Microposts 模型后,
我遵循了 Michael Hartl 的“Rails 教程”一书,需要在自定义位置 (/members) 而不是站点的根目录中呈现“微博提要”。 我已经更新了 SessionsController,这
错误输出为: NoMethodError in MembersController#index undefined method `total_pages' for # 应用程序跟踪是: app/v
我是一名优秀的程序员,十分优秀!