【发布时间】:2014-08-22 09:02:09
【问题描述】:
我在 Posts 控制器中创建了一个新动作,但是,我似乎无法访问它。
动作名称是 'kill' ,所以当我在浏览器中输入时,localhost:3000/posts/kill
我收到以下错误:Couldn't find Pad with id=kill
Extracted source (around line #18
def show
@post_selected = Post.find(params[:id])
@posts = Post.all
end
在我的 routes.rb 中
resources :posts
match ':controller(:action(/:id))', :via => [:get, :post]
match "/pads/modifier" => "pads#modifier", :via => [:get]
当我输入 rake routes 时,这就是我得到的结果
Prefix Verb URI Pattern Controller#Ac
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PATCH /posts/:id(.:format) posts#update
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
root GET / posts#welcome
GET|POST /:controller(:action(/:id))(.:format) :controller#:
posts_modifier GET /posts/modifier(.:format) posts#modifier
如何生成路径以获取新创建的操作“kill”?
============================================= ============== 更新 #1:已解决,
除了下面的答案,我可以用下面的代码实现它
resources :posts, controller: 'posts' do
get 'posts/:action', to: 'posts#:action'
end
============================================= ===============
【问题讨论】:
标签: ruby-on-rails controller routes action