【发布时间】:2011-11-25 02:47:29
【问题描述】:
我正在编写 Michael Hartl 的 Rails 教程,就像其他 Rails 新手一样。 无论如何,我也被困在第 11 章,有些 JQuery 无法处理删除操作问题。也就是说,当点击任何删除按钮时,它只会将我重定向到一个特定的错误页面,上面写着“没有路由匹配 [GET]”/microposts/301”
我在 _micropost.html.erb 页面中的代码如下:
<tr>
<td class="micropost">
<span class="content"><%= micropost.content %></span>
<span class="timestamp">
Posted <%= time_ago_in_words(micropost.created_at) %> ago.
</span>
</td>
<% if current_user?(micropost.user) %>
<td>
<%= link_to "delete", micropost, :method => :delete,
:confirm => "You sure?",
:title => micropost.content %>
</td>
<% end %>
</tr>
所以,我检查了我的 gem 文件是否有原型和 jQuery 冲突。 我发现如下
source 'http://rubygems.org'
gem 'rails', '3.1.1'
gem 'annotate', :git => 'git://github.com/ctran/annotate_models.git'
# 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'
# 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
gem 'jquery-rails'
group :development do
gem 'rspec-rails', '2.6.1'
gem 'faker', '0.3.1'
end
group :test do
gem 'rspec-rails', '2.6.1'
gem 'webrat', '0.7.1'
gem 'factory_girl_rails', '1.0'
end
group :production do
gem 'therubyracer-heroku', '~> 0.8.1.pre3', :platform => :ruby
#gem 'therubyracer-heroku', '0.8.1.pre3' # you will need this too
gem 'pg'
end
所以,我很确定这里没有安装原型,因为我听说 Rails 3.1 以后默认使用 jQuery。
您有什么建议可以让它为我工作吗?在哪里检查我的 jQuery 是否已正确安装。
根据@Tuck 的建议,我在这里发布了我的 routes.rb。
SampleApp::Application.routes.draw do
resources :users
resources :sessions, :only => [:new, :create, :destroy]
resources :microposts, :only => [:create, :destroy]
match '/signup', :to => 'users#new'
match '/signin', :to => 'sessions#new'
match '/signout', :to => 'sessions#destroy'
match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/help', :to => 'pages#help'
root :to => 'pages#home'
get "pages/home"
get "pages/contact"
get "pages/about"
end
【问题讨论】:
-
您可以通过在“脚本”部分检查 Firebug/Chrome 来检查 jQuery 是否正在加载。但更有可能是路由或控制器的问题。
标签: jquery ruby-on-rails