[英]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.