Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 如何为嵌套资源和自定义控制器操作设置rails 3路由_Ajax_Ruby On Rails 3_Paperclip - Fatal编程技术网

Ajax 如何为嵌套资源和自定义控制器操作设置rails 3路由

Ajax 如何为嵌套资源和自定义控制器操作设置rails 3路由,ajax,ruby-on-rails-3,paperclip,Ajax,Ruby On Rails 3,Paperclip,我有一个建议,嵌套在类别和奖项下面 所以分类/:id/奖励/:id/推荐/:id 我有一个资产模型,用于处理推荐的回形针附件。推荐有很多资产,资产属于:推荐 在我的推荐新建/编辑视图中,我呈现了一个表单部分(正常情况下),该表单允许用户选择上载多个资产 如果已有相关资产,则会列出它们。我正在建议控制器上设置自定义删除操作 我当前链接到: <%= link_to "Delete Attachment", {:controller => :recomme

我有一个建议,嵌套在类别和奖项下面

所以分类/:id/奖励/:id/推荐/:id

我有一个资产模型,用于处理推荐的回形针附件。推荐有很多资产,资产属于:推荐

在我的推荐新建/编辑视图中,我呈现了一个表单部分(正常情况下),该表单允许用户选择上载多个资产

如果已有相关资产,则会列出它们。我正在建议控制器上设置自定义删除操作

我当前链接到:

<%= link_to "Delete Attachment", 
                {:controller => :recommendations, :action => :destroy_asset, :id => asset.id }, 
                {:remote => "true", :confirm => "Are you sure you want to delete this image?"} 
         %>
路线: 资源:建议 资源:类别做什么 资源:有奖吗 资源:建议 结束 结束

我仍在学习remote=>true,以及如何路由这个笨蛋。不确定是否需要嵌套路由。我倾向于不这样认为。因为我的循环中有一个Asset.id,所以我应该能够执行destroy而不需要任何建议

因此,问题是:我是否需要一个路径来访问我的控制器中的自定义操作? 谢谢

试试这个:

resources :categories do
    resources :awards do
        resources :recommendations 
           member do
              get :destroy_asset
           end
        end
    end 
end
或者,如果您只想在推荐控制器下执行销毁资产操作,请执行以下操作:

resources :recommendations 
    member do
        get :destroy_asset
    end
end
match "asset/:id/destroy_asset", :to => "recommendations#destroy_asset", 
:as=> "destroy_asset"
或者,如果要自定义匹配,请执行以下操作:

resources :recommendations 
    member do
        get :destroy_asset
    end
end
match "asset/:id/destroy_asset", :to => "recommendations#destroy_asset", 
:as=> "destroy_asset"

尝试此操作并运行rake routes,其中显示destroy_asset_category_award,然后在awards_controller中查找destroy_资产。我需要一条路线吗?由于我已经在“建议编辑表单”视图中,我是否可以只指定操作?您始终可以编写与特定控制器操作匹配的自定义路由
match
。看我的编辑!!