Я работаю над учебником Майкла Хартла по Ruby on Rails на http://ruby.railstutorial.org. У меня проблемы с главой 11, особенно при попытке удалить микросообщение.
У меня та же проблема, что и у этого пользователя. Ошибка маршрутизации. Не найдено ни одного маршрута [GET] "/ microposts / 304" . Он смог решить эту проблему, закомментировав гем jQuery, и он сработал. Мне, однако, не так повезло.
Вот мой текущий 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
=> Небольшое примечание: ошибка Нет времени выполнения Javascript в Windows при запуске сервера rails продолжало возникать при запуске команды rails server
, но после того, как я закомментировал 'sass-rails'
, 'coffee-rails'
и 'uglifier'
драгоценных камней он будет работать успешно. Я использую ПК с Windows, и мне сказали, что это может быть специфической проблемой для компьютеров с 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.
Я не уверен, как решить эту проблему. Есть ли какой-то конкретный гем, который мне нужно установить, чтобы метод удаления работал? Я ценю вашу помощь!
Вот вывод 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"}
Вот частичный просмотр файла с использованием метода удаления:
<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,, мне кажется, что он не работает должным образом на моей машине, что наводит меня на мысль, что это что-то вроде того, как этот пользователь проблема.