繁体   English   中英

路由嵌套控制器-Rails

[英]Routing a nested controller - Rails

我有一个名为visits的子控制器,一个名为Subscriber的超级控制器,我是Rails的新手,我以前没有解决过这个概念,所以现在当我尝试为visits控制器呈现视图时,我遇到了这个错误-没有路由匹配[GET]“ / subscribers / visits / new”-我不确定如何路由此约定? 为了清楚起见,我将显示代码。

路线:

  devise_for :users
  resources :subscribers do
   resources :visits, shallow: true
  end

顺便说一下,这是行不通的。

控制器

  class Subscribers::VisitsController < ApplicationController
   def new
    @subscriber = Subscriber.new
   end

   def create
    @subscriber =  Subscriber.find_by_phone_number(params[:phone_number])
   if @subscriber
    @subscriber.visit += 1
    @subscriber.save
   end
   end
   end

    class SubscribersController < ApplicationController
     def index
      @subscriber = Subscriber.all
     end

     def new
      @subscriber = Subscriber.new
     end

     def create
       @subscriber = Subscriber.create(subscriber_params)
        if @subscriber.save
        flash[:success] = "Subscriber Has Been successfully Created"
        redirect_to new_subscriber_path(:subscriber)
         else
          render "new"
         end
        end

我不知道什么rake routes适合您,不确定是什么问题,所以我将发布解决方案。

将以下内容放在您的config / routes.rb中

get '/subscribers/visits/new', to: 'subscribers/visits#new'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM