В настоящее время у меня есть контроллер Subscribers
, который имеет действие new
, index
и create
для подписчиков. Функция очень проста прямо сейчас. У меня также есть модель subscriber
, которая берет всю регулярную информацию, включая phone_number
. Я хочу новую форму, которая просто возьмет в качестве подписчика phone_number и добавит 1 к целому числу visit
для этого конкретного абонента, который я установил на модели абонента. Вот мой код для ясности. Возможно ли это, в основном, обновить подписчика, набравшего их номер, и добавить 1 в число целых чисел?Два Создайте действия в одном контроллере - Rails
CONTROLLER
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
def visit
@subscriber = Subscriber.find_by_phone_number(params[:phone_number])
if @subscriber
@subscriber.visit += 1
redirect_to subscribers_visits_new_path(:subscriber)
else
render "new"
end
end
МОДЕЛЬ
class Subscriber < ActiveRecord::Base
validates :first_name, presence: true
validates :last_name, presence: true
validates :email, presence: true
validates :phone_number, presence: true
def date_joined
created_at.strftime("%-m/%-d/%-y")
end
def expiration_date
(created_at + 1.year).strftime("%-m/%-d/%-y")
end
end
Есть ли никакой другой информации о визите, что вам нужно отслеживать? Это просто счетчик? Мне кажется, что посещение должно быть отдельным ресурсом с отдельным контроллером/моделью. – heartlandcoder