我创建了一个炼油厂扩展程序,用于管理学校的实地考察。
我当前用于管理端的 fieldtrips_controller 具有以下内容。
module Refinery
module Fieldtrips
module Admin
class FieldtripsController < ::Refinery::AdminController
crudify :'refinery/fieldtrips/fieldtrip', :xhr_paging => true
def destory_pin
@pin = Refinery::Pins::Pin.find(params[:id])
if @pin.delete
render :json => {result: "success"}
else
render :json => {result: "error"}
end
end
end
end
end
end
正如你所看到的,我添加了一种方法来破坏我称之为 pin 的东西,witch 是我与实地考察相关联的模型。
我正在使用来自我的 Fieldtrip 编辑页面的 ajax 请求。我想调用的网址是“refinery/fieldtrips/destory_pin
目前在我的实地考察路线文件中,我有以下内容
Refinery::Core::Engine.routes.append 做
# Frontend routes
namespace :fieldtrips do
resources :fieldtrips, :path => '', :only => [:index, :show]
end
# Admin routes
namespace :fieldtrips, :path => '' do
namespace :admin, :path => 'refinery' do
resources :fieldtrips, :except => :show do
collection do
post :update_positions
post :destory_pin
end
end
end
end
end
目前,当我跑步时,rake routes
我得到以下信息
POST /refinery/fieldtrips/destory_pin(.:format) refinery/fieldtrips/admin/fieldtrips#destory_pin
如果我在浏览器中导航到 /refinery/fieldtrips/destory_pin,我会在 Refinery::Admin::BaseController#error_404 中得到 NoMethodError
我确定我做错了路线,需要有关如何纠正此问题的建议。