ruby-on-rails – 从视图中调用link_to中的Controller方法
发布时间:2020-12-17 03:27:50 所属栏目:百科 来源:网络整理
导读:我的申请有订单的交易.在我的管理区域,我希望能够手动处理订单. 在我的访问/交易视图中 %= link_to "Process Orders","Not sure what I put here?" % 在我的access / deals_controller中 def process_orders @deals = Deal.find(params[:id] @orders = @deal
我的申请有订单的交易.在我的管理区域,我希望能够手动处理订单.
在我的访问/交易视图中 <%= link_to "Process Orders","Not sure what I put here?" %> 在我的access / deals_controller中 def process_orders @deals = Deal.find(params[:id] @orders = @deals.orders.where("state" == ?,"pending") @orders.each do |order| #order processing code here end end 我应该如何构建我的link_to方法来调用admin / deals控制器中的process_orders方法? 我觉得有点像 <%= link_to "Process Orders",access_deal_path(deal) %> 它给了我以下网址 localhost:3000/access/deals/9 我怎么得到这样的东西 localhost:3000/access/deals/9/process_orders 如果这是一种更好的方法,我也愿意接受有关将processing_orders方法移动到模型或帮助器的建议. 我摘录了我的路线档案. resources :deals do resources :orders end namespace "access" do resources :deals,:podcasts,:pages,:messages end 解决方法
您可以执行以下操作之一:
创建自定义路线: match 'access/deals/:id/process_orders' => 'access/deals#process_orders',:as => 'access_deal' 然后你可以使用这个link_to: <%= link_to "Process Orders",access_deal_path(deal) %> 要么 添加会员路线: namespace "access" do resources :deals do member do get :process_orders end end end 你的link_to看起来像这样: <%= link_to "Process Orders",process_orders_access_deal_path(deal) %> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |