Ruby on rails 在rails中链接到远程,问题传递:id
我无法使用链接到远程 文档示例说明Ruby on rails 在rails中链接到远程,问题传递:id,ruby-on-rails,link-to-remote,Ruby On Rails,Link To Remote,我无法使用链接到远程 文档示例说明 link_to_remote "Delete this post", :update => "posts", :url => { :action => "destroy", :id => post.id } 此代码生成下面的html代码 <a href="#" onclick="new Ajax.Updater('posts', '/blog/destroy/3', {asynchronous:true, evalScript
link_to_remote "Delete this post", :update => "posts", :url => { :action => "destroy", :id => post.id }
此代码生成下面的html代码
<a href="#" onclick="new Ajax.Updater('posts', '/blog/destroy/3', {asynchronous:true, evalScripts:true}); return false;">Delete this post</a>
但是这段代码不是“blog/update/6”,它也是“blog/6”
如果单击链接,则会出现此错误
ActionController::UnknownAction (No action responded to 6. Actions: create, index, new, show, and update):
。。。。my route.rb是默认值
ActionController::Routing::Routes.draw do |map|
map.resources :aaa
map.resources :timetables
map.resources :alarams
map.resources :users
map.login 'login', :controller => 'user_sessions', :action => 'new'
map.logout 'logout', :controller => 'user_sessions', :action => 'destroy'
map.resources :user_sessions
# The priority is based upon order of creation: first created -> highest priority.
# Sample of regular route:
# map.connect 'products/:id', :controller => 'catalog', :action => 'view'
# Keep in mind you can assign values other than :controller and :action
# Sample of named route:
# map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
# This route can be invoked with purchase_url(:id => product.id)
# Sample resource route (maps HTTP verbs to controller actions automatically):
# map.resources :products
# Sample resource route with options:
# map.resources :products, :member => { :short => :get, :toggle => :post }, :collection => { :sold => :get }
# Sample resource route with sub-resources:
# map.resources :products, :has_many => [ :comments, :sales ], :has_one => :seller
# Sample resource route with more complex sub-resources
# map.resources :products do |products|
# products.resources :comments
# products.resources :sales, :collection => { :recent => :get }
# end
# Sample resource route within a namespace:
# map.namespace :admin do |admin|
# # Directs /admin/products/* to Admin::ProductsController (app/controllers/admin/products_controller.rb)
# admin.resources :products
# end
# You can have the root of your site routed with map.root -- just remember to delete public/index.html.
map.root :controller => "welcome"
# See how all your routes lay out with "rake routes"
# Install the default routes as the lowest priority.
# Note: These default routes make all actions in every controller accessible via GET requests. You should
# consider removing or commenting them out if you're using named routes and resources.
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
您需要将
:method=>“delete”
添加到链接参数中。您似乎已将POST
声明为路由表中的资源。您需要将:method=>“delete”
添加到链接参数中。似乎您已在路由表中将posts
声明为资源。我猜您使用的是漂亮的脚手架生成器,它为您提供了包含/排除销毁操作的选项。如果这不是您正在使用的生成器,那么您的控制器中没有定义“销毁”操作。因此出现了错误:
ActionController::UnknownAction(没有操作响应6。操作:创建、索引、新建、显示和更新):
控制器中没有要响应的“销毁”操作。我猜您使用的是nifty scaffold generator,它为您提供了包含/排除销毁操作的选项。如果这不是您正在使用的生成器,那么您的控制器中没有定义“销毁”操作。因此出现了错误: ActionController::UnknownAction(没有操作响应6。操作:创建、索引、新建、显示和更新):
控制器中没有要响应的“销毁”操作。
方法
是一个动词,用于定义将发送的请求类型。然后rails路由系统将选择它必须取消相应控制器的动作。method
是一个动词,定义将发送何种请求。然后,rails路由系统将选择必须取消相应控制器的动作。
ActionController::UnknownAction (No action responded to 6. Actions: create, index, new, show, and update):
ActionController::Routing::Routes.draw do |map|
map.resources :aaa
map.resources :timetables
map.resources :alarams
map.resources :users
map.login 'login', :controller => 'user_sessions', :action => 'new'
map.logout 'logout', :controller => 'user_sessions', :action => 'destroy'
map.resources :user_sessions
# The priority is based upon order of creation: first created -> highest priority.
# Sample of regular route:
# map.connect 'products/:id', :controller => 'catalog', :action => 'view'
# Keep in mind you can assign values other than :controller and :action
# Sample of named route:
# map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
# This route can be invoked with purchase_url(:id => product.id)
# Sample resource route (maps HTTP verbs to controller actions automatically):
# map.resources :products
# Sample resource route with options:
# map.resources :products, :member => { :short => :get, :toggle => :post }, :collection => { :sold => :get }
# Sample resource route with sub-resources:
# map.resources :products, :has_many => [ :comments, :sales ], :has_one => :seller
# Sample resource route with more complex sub-resources
# map.resources :products do |products|
# products.resources :comments
# products.resources :sales, :collection => { :recent => :get }
# end
# Sample resource route within a namespace:
# map.namespace :admin do |admin|
# # Directs /admin/products/* to Admin::ProductsController (app/controllers/admin/products_controller.rb)
# admin.resources :products
# end
# You can have the root of your site routed with map.root -- just remember to delete public/index.html.
map.root :controller => "welcome"
# See how all your routes lay out with "rake routes"
# Install the default routes as the lowest priority.
# Note: These default routes make all actions in every controller accessible via GET requests. You should
# consider removing or commenting them out if you're using named routes and resources.
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end