2016-05-30 5 views
0

通常の属性(名前、電子メール、電話など)を持つサブスクライバを作成する基本コントローラとモデルがありますが、サブスクライバにはvisit属性もあります。だから私は "新しい"アクションでレンダリングされ、入力を作成アクションで保存するフォームを持っています。 < < VERY BASIC >>実装したい新機能は、phone_numberだけを取り込む新しいフォームを作成することです。その番号が入力されると、その番号に対応するサブスクライバの訪問属性が更新されます。今私はただ一つのコントローラーでこれを理解しようと苦労しています。私は現在のコントローラを表示し、分かりやすくするために役立つことを願っています。あなたが訪問アクションで見ることができるように属性を更新するビューフォームの作成 - 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 
     @subscriber.save 
     redirect_to subscribers_visits_new_path(:subscriber) 
    else 
     render "new" 
    end 
    end 
end 

を、私はこの機能を実装しようとしているが、私はどこへ行く、ここからわからないんだけど?

+0

基本的に訪問したときに各電話番号の訪問数を増やしたいと思っていますか? – Kumar

+0

'visit'アクションのルートを設定しましたか? – mlovic

+0

私はまだルートを設定していませんが、コントローラを設定する方法がもっと分かりますか? @mlovic – Bitwise

答えて

1

searchページに、検索する番号を入力するフォームがあるとします。そして、リクエストはvisitアクションに来ます。ここであなたは+1を訪問回数に加算し、その数字(加入者)の詳細を表示します。

def visit 
    #Comes request from search action 
    @subscriber = Subscriber.find_by_phone_number(params[:phone_number]) 
    if @subscriber 
    @subscriber.visit += 1 
    @subscriber.save 
    redirect_to subscriber_path(@subscriber) 
    #It will show the details 
    else 
    flash[:alert] = "Didn't find with that number. Search again." 
    render :action => :search 
    end 
end 

更新:visitアクションに

検索ロジック

def search 
    #will render search.html.erb by convention 
end 

インサイドsearch.html.erb

<%= form_tag({controller: "subscribers", action: "visit"}, method: "get") do %> 
    <%= text_field_tag :phone_number %> 
    <%= submit_tag "Submit" %> 
<% end %> 

だから、これがお送りしますパラメータ、および後増分ショーの方法をレンダリングすることを念頭に置く。お役に立てれば。何かがあれば教えてください。

+0

それは完璧です、あなたは検索ページを設定する方法を知っていますか?それは私が苦労している部分です – Bitwise

関連する問題