現在、私はVisit
というメソッドを持っており、基本的に訪問カウンタをSubscriber
に追加しています。このメソッドは、Subscriber
がphone_numberをフォームに入力するとトリガーされます。私は単にSusbcriber.find_by(params[id]).last.visit
のように見えるアクティブなレコードクエリを作成したい(これはBTWでは機能しません)。うまくいけば、私がそこでやろうとしていることを得ることができます。基本的には、最後にチェックインした人に電話番号を呼んでください。分かりやすくするために私のコードを示します。アクティブレコードクエリ - レール
CONTROLLER方法:あり
def search
@subscriber = Subscriber.new
end
def visit
@subscriber = Subscriber.find_by(params[:phone_number])
if @subscriber
@subscriber.visit ||= 0
@subscriber.visit += 1
@subscriber.save
flash[:notice] = flash[:notice] = "Thank You #{@subscriber.first_name}. You have #{@subscriber.days_till_expired} until renewal"
redirect_to subscribers_search_path(:subscriber)
else
render "search"
end
end
あなたは、加入者が自分の電話番号を入力したときにトリガされます方法を見ることができます。私は単にその人をコンソールで呼びたいと思う。 CURRENTLY動作していない
CONTROLLER方法:
def create
@subscriber = Subscriber.find(params[:subscriber_id])
@comment = @subscriber.comments.build(comments_params)
if @comment.save
flash[:notice] = "Thank you!"
redirect_to subscribers_search_path(:comments)
else
render "new"
end
end
これは単に自分の電話番号を入力し、加入者を見つけるために、新しいクエリを必要とする方法です。
詳細情報が必要な場合は教えてください。ありがとうございました!
私はあなたが思っているのが好きですが、 'NameError:未定義のローカル変数またはメソッド' params for main:Object'というエラーが発生していますか? – Bitwise
これは、メソッドに 'params'変数がないことを示しています。あなたはあなたのコントローラでこれを取得していますか?もしそうなら、あなたのコントローラの定義や呼び出しに何か問題があります。これは何のコントローラーアクションですか、訪問するか、作成しますか?そして、あなたはその行動をどのように呼びますか?あなたのビューコードは、フォーム提出をどのようにしますか? – hightempo
また、Railsのバージョンはこれにありますか? Rails 4+の場合は、強力なパラメータを使用する必要があります。 – hightempo