2016-05-30 61 views
0

目前,我有一個Subscribers控制器,其中有一個newindexcreate用戶操作。這個功能現在非常基本。我也有一個subscriber模型,其中包含phone_number的所有常規信息。我想要一個新的表單,它將簡單地接入用戶phone_number,併爲我在訂戶模型上設置的特定訂戶的visit整數加1。這是我目前的代碼清晰。這是可能的基本上更新用戶鍵入他們的號碼,並加1訪問整數?在一個控制器中創建兩個動作 - Rails

控制器

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 
+0

是否有關於您需要跟蹤訪問沒有其他的信息?它只是一個櫃檯嗎?我覺得像訪問應該是一個單獨的資源與獨立的控制器/模型。 – heartlandcoder

回答

1

當然是。我會建議使用您的操作(訪問)的網址進行創建。

然後在你的控制器,你只需要做

@subscriber.update_attribute(:visit, @subscriber.visit+1) 
相關問題