【发布时间】:2016-05-29 23:21:54
【问题描述】:
我有一个Subscriber 模型,它接受一个“电话号码”和一个“访问”整数。我有两个控制器 Subscribers 和 Visits(super 和 sub) 我以前从未使用过嵌套控制器,我相信我在命名空间方面遇到了一些问题。因为我找回了未初始化的常量错误。基本上,订户控制器注册一个订户,访问控制器通过用户输入他们的电话号码来计算他们访问的次数。为什么我会收到此错误?为了清楚起见,我将显示我的代码。
控制器
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
redirect_to subscribers_visits_new_path(:subscriber)
else
render "new"
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
路线
Rails.application.routes.draw do
devise_for :users
resources :subscribers, except: :show
get '/subscribers/visits/new', to: 'subscribers/visits#new'
root "welcomes#index"
观看次数
<h1>hey</hey>
<%= form_for @subscriber do |form| %>
<div class="form-group">
<p>
<%= form.label :phone_number %>
<%= form.text_field :phone_number %>
</p>
<% end %>
错误
【问题讨论】:
-
你可以为这两个控制器粘贴
routes.rb吗? -
为您准备好这些路线
-
访问控制器的目的是什么?难道你不能只在订阅者控制器中有一个访问操作,然后有一个到
subscribers#visit的路由并在那里更新访问字段吗? -
请提供完整的日志,包括错误的回溯。您可以在 Rails 控制台或
log/development.log中找到失败的操作。将操作的Started行中的所有内容复制到Completed行(或日志末尾)很重要。
标签: ruby-on-rails ruby routing