現在、属性で1をインクリメントするコントローラーメソッドがあり、そのユーザーが見つかった特定のページにリダイレクトする必要があります。しかし、理由のために、私はそれがelseステートメントとメソッドの終了をレンダリングし続けることがわかりません。私は自分のコードを掲示し、一度それを見たらそれをクリアします。コントローラーメソッドが正しくリダイレクトされない
CONTROLLER:
def search
@subscriber = Subscriber.new
end
def visit
@subscriber = Subscriber.find_by_phone_number(params[:phone_number])
if @subscriber
@subscriber.visit ||= 0
@subscriber.visit += 1
@subscriber.save
flash[:notice] = "Thank You #{@subscriber.first_name}. You have #{@subscriber.days_till_expired} until renewal"
redirect_to subscribers_visit_path(:subscriber)
else
render "search"
end
end
VIEW:
<h1>Hello Subscriber</h1>
<% if @subscriber %>
<tr>
<td><%= image_tag avatar_url(@subscriber) %></td>
<td><%= @subscriber.first_name %></td>
</tr>
<% else %>
<tr><td>No subscriber found!</td></tr>
<% end %>
それは方法の他に「検索」部分とないsubscriber_visit_pathをレンダリングし続ける何らかの理由でそれだけで+= 1
一部を行います良い。だから、基本的にそれは加入者を見つけることですが、それが増えた後に加入者を無駄にするようです?私はここで何かを見逃していますか?
"+ = 1の部分が完了しました"ということをどのように知っていますか? – Andy