私は、ユーザーがsession[:city]
自分の位置を追跡するというセッション変数を更新できるようにするフォームに取り組んでいます。変数はデータベースに保存する必要はありません。これは使い捨てのようなものです。ユーザーがサイトにいる間のみ存在する必要があります。
session[:city]
サイト全体のいくつかの場所で使用されているため、次のメソッドをアプリケーション コントローラーに配置しました。
class ApplicationController < ActionController::Base
before_filter :set_city
def set_city
unless session[:city].present?
session[:city] = request.location.city
end
if params[:city].present?
session[:city] = params[:city]
end
end
end
その部分は正しく機能し、サイト全体で変数を呼び出すことができます。
私が抱えている問題は、フォームで変数を更新することです。必要な唯一のアクションは変数を更新することですが、応答しません。ここで何かが足りないことはわかっていますが、たくさんのことを試した後、少し困惑しています。これは現在の私の基本的なフォームです:
<%= form_tag do %>
<%= text_field_tag :city, params[:city] %>
<%= submit_tag %>
<% end %>
作業コードに編集