[英]Two Create actions in one controller - Rails
當前,我有一個Subscribers
控制器,該控制器具有一個new
, index
並為訂戶create
動作。 該功能現在非常基本。 我也有一個subscriber
模型,其中包含所有常規信息,包括phone_number
。 我想要一個新的表單,該表單將簡單地接收訂戶phone_number並將1添加到我在訂戶模型上設置的特定訂戶的visit
整數。 為了清楚起見,這是我當前的代碼。 是否有可能從根本上更新鍵入其號碼的訂戶並向訪問整數加1?
控制器
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
當然是的。 我建議您使用操作的網址(訪問)進行創建。
然后在您的控制器中,您只需要做
@subscriber.update_attribute(:visit, @subscriber.visit+1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.