An ActionView::Template::Error occurred in activity_logs#index:
undefined method `id' for nil:NilClass
app/decorators/activity_log_decorator.rb:18:in `device_link'
-------------------------------
Request:
-------------------------------
* URL : https://www.bikelink.org/activity_logs?activity_logs_datagrid%5Btimestamp%5D%5B%5D=&activity_logs_datagrid%5Btimestamp%5D%5B%5D=&activity_logs_datagrid%5Bg7_access_hub_board_sn%5D=&activity_logs_datagrid%5Bdevice_id%5D=&activity_logs_datagrid%5Bserial_number%5D=21&activity_logs_datagrid%5Bdescription%5D=&activity_logs_datagrid%5Bper_page%5D=100&commit=Apply
* HTTP Method: GET
* IP address : 91.139.77.174
* Parameters : {"activity_logs_datagrid"=>{"timestamp"=>["", ""], "g7_access_hub_board_sn"=>"", "device_id"=>"", "serial_number"=>"21", "description"=>"", "per_page"=>"100"}, "commit"=>"Apply", "controller"=>"activity_logs", "action"=>"index"}
* Timestamp : 2024-10-30 13:56:36 UTC
* Server : www-9.internal.bikelink.org
* Rails root : /var/www/bikelink
* Process: 419745
-------------------------------
Session:
-------------------------------
* session id: [FILTERED]
* data: {"session_id"=>"3e54506457a9ce3a12f2687048fac9ca",
"warden.user.person.key"=>[[29434], "g96J_1sBQzz1Dzgu4K3D"],
"_csrf_token"=>"CI/v5JQHaQQIkJPsaYdBpb/mFKKUrlX15nzqI4OkO7A="}
-------------------------------
Environment:
-------------------------------
* GATEWAY_INTERFACE : CGI/1.2
* HTTP_ACCEPT : text/html, application/xhtml+xml
* HTTP_ACCEPT_ENCODING : gzip, deflate, br
* HTTP_ACCEPT_LANGUAGE : en-GB,en;q=0.9
* HTTP_CONNECTION : close
* HTTP_COOKIE : __utma=136922275.875972201.1703286775.1730283642.1730296339.51; __utmb=136922275.7.10.1730296339; __utmc=136922275; __utmz=136922275.1704378389.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _ga=GA1.1.875972201.1703286775; _ga_5XJXN3VELE=GS1.1.1730296336.261.1.1730296571.0.0.0; _bikelink_session=kz0Ti%2FZwPIzJkNd2qtrppAw78%2BA6lScGagGaNM8%2BjJvKfZQ27iMuA5X7k6E4lyJHHsV7Q%2BxMHcBGY9qnZ3C5DssHdxfEgCfGTIwwSuZY8kpAfXeElozyZxMsUxT2fgS9k%2Fq%2F2XN7clt9CBB3wq8hu5DLFF28R4baymSw%2BwEVtPs8PgK5KaVAZ3sBJ9Yb00ctW0nx%2FhH86nDUYibG%2BOHFirKT6TllNNA3zNnrQRxmf8OwnA20qM5IHygjOeRKrKufmIZsrVgmcHduACLCHbe52L6Jn0BSBboSSNWGFuG0WOPGwKIm2XIBBftj9eCwm8S3oInq5diSpesU6fX1wdYEW4j5WqJRzZIVuvp35ZizpM09gWSa%2FEsPVW%2FfaqWvNh5bt4yeB0c%3D--44o0VADKLNOmP0aJ--tuzVFdUYNpqDD6BhnkFoMw%3D%3D; __utmt=1; _ga_5XJXN3VELE=deleted
* HTTP_HOST : www.bikelink.org
* HTTP_PRIORITY : u=3, i
* HTTP_REFERER : https://www.bikelink.org/activity_logs?activity_logs_datagrid%5Btimestamp%5D%5B%5D=&activity_logs_datagrid%5Btimestamp%5D%5B%5D=&activity_logs_datagrid%5Bg7_access_hub_board_sn%5D=&activity_logs_datagrid%5Bdevice_id%5D=&activity_logs_datagrid%5Bserial_number%5D=&activity_logs_datagrid%5Bdescription%5D=&activity_logs_datagrid%5Bper_page%5D=100&commit=Apply
* HTTP_SEC_FETCH_DEST : empty
* HTTP_SEC_FETCH_MODE : cors
* HTTP_SEC_FETCH_SITE : same-origin
* HTTP_TURBO_FRAME : activity_logs_datagrid_activity_logs_datagrid
* HTTP_USER_AGENT : Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15
* HTTP_VERSION : HTTP/1.0
* HTTP_X_AMZN_TRACE_ID : Root=1-67223b14-0bdd267a0c45e293019f7b7b
* HTTP_X_FORWARDED_FOR : 91.139.77.174, 91.139.77.174
* HTTP_X_FORWARDED_PORT : 443
* HTTP_X_FORWARDED_PROTO : https
* ORIGINAL_FULLPATH : /activity_logs?activity_logs_datagrid%5Btimestamp%5D%5B%5D=&activity_logs_datagrid%5Btimestamp%5D%5B%5D=&activity_logs_datagrid%5Bg7_access_hub_board_sn%5D=&activity_logs_datagrid%5Bdevice_id%5D=&activity_logs_datagrid%5Bserial_number%5D=21&activity_logs_datagrid%5Bdescription%5D=&activity_logs_datagrid%5Bper_page%5D=100&commit=Apply
* ORIGINAL_SCRIPT_NAME :
* PATH_INFO : /activity_logs
* QUERY_STRING : activity_logs_datagrid%5Btimestamp%5D%5B%5D=&activity_logs_datagrid%5Btimestamp%5D%5B%5D=&activity_logs_datagrid%5Bg7_access_hub_board_sn%5D=&activity_logs_datagrid%5Bdevice_id%5D=&activity_logs_datagrid%5Bserial_number%5D=21&activity_logs_datagrid%5Bdescription%5D=&activity_logs_datagrid%5Bper_page%5D=100&commit=Apply
* REMOTE_ADDR : 127.0.0.1
* REQUEST_METHOD : GET
* REQUEST_PATH : /activity_logs
* REQUEST_URI : /activity_logs?activity_logs_datagrid%5Btimestamp%5D%5B%5D=&activity_logs_datagrid%5Btimestamp%5D%5B%5D=&activity_logs_datagrid%5Bg7_access_hub_board_sn%5D=&activity_logs_datagrid%5Bdevice_id%5D=&activity_logs_datagrid%5Bserial_number%5D=21&activity_logs_datagrid%5Bdescription%5D=&activity_logs_datagrid%5Bper_page%5D=100&commit=Apply
* ROUTES_13660_SCRIPT_NAME :
* SCRIPT_NAME :
* SERVER_NAME : www.bikelink.org
* SERVER_PORT : 443
* SERVER_PROTOCOL : HTTP/1.0
* SERVER_SOFTWARE : puma 6.4.0 The Eagle of Durango
* action_controller.instance : #<ActivityLogsController:0x0000737b15666440>
* action_dispatch.authenticated_encrypted_cookie_salt : [FILTERED]
* action_dispatch.backtrace_cleaner : #<Rails::BacktraceCleaner:0x00005d99ff50d060>
* action_dispatch.content_security_policy :
* action_dispatch.content_security_policy_nonce_directives:
* action_dispatch.content_security_policy_nonce_generator :
* action_dispatch.content_security_policy_report_only : false
* action_dispatch.cookies : #<ActionDispatch::Cookies::CookieJar:0x0000737b046fee40>
* action_dispatch.cookies_digest :
* action_dispatch.cookies_rotations : #<ActiveSupport::Messages::RotationConfiguration:0x00005d99faba3848>
* action_dispatch.cookies_same_site_protection : #<Proc:0x00005d9a059656e8 /var/www/bikelink/vendor/bundle/ruby/3.0.0/gems/railties-6.1.7.6/lib/rails/application.rb:636>
* action_dispatch.cookies_serializer : json
* action_dispatch.encrypted_cookie_cipher : [FILTERED]
* action_dispatch.encrypted_cookie_salt : [FILTERED]
* action_dispatch.encrypted_signed_cookie_salt : [FILTERED]
* action_dispatch.http_auth_salt : [FILTERED]
* action_dispatch.key_generator : #<ActiveSupport::CachingKeyGenerator:0x00005d9a0612ed98>
* action_dispatch.logger : #<ActiveSupport::Logger:0x00005d99ff2f8c98>
* action_dispatch.parameter_filter : [:confirm_password, :credit_card_number, :password, :passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn]
* action_dispatch.permissions_policy :
* action_dispatch.redirect_filter : []
* action_dispatch.remote_ip : 91.139.77.174
* action_dispatch.request.accepts : [#<Mime::Type:0x00005d99fb622c38 @synonyms=["application/xhtml+xml"], @symbol=:html, @string="text/html", @hash=1491005293223610656>]
* action_dispatch.request.content_type :
* action_dispatch.request.formats : [#<Mime::Type:0x00005d99fb622c38 @synonyms=["application/xhtml+xml"], @symbol=:html, @string="text/html", @hash=1491005293223610656>]
* action_dispatch.request.parameters : {"activity_logs_datagrid"=>{"timestamp"=>["", ""], "g7_access_hub_board_sn"=>"", "device_id"=>"", "serial_number"=>"21", "description"=>"", "per_page"=>"100"}, "commit"=>"Apply", "controller"=>"activity_logs", "action"=>"index"}
* action_dispatch.request.path_parameters : {:controller=>"activity_logs", :action=>"index"}
* action_dispatch.request.query_parameters : {"activity_logs_datagrid"=>{"timestamp"=>["", ""], "g7_access_hub_board_sn"=>"", "device_id"=>"", "serial_number"=>"21", "description"=>"", "per_page"=>"100"}, "commit"=>"Apply"}
* action_dispatch.request.request_parameters : {}
* action_dispatch.request.unsigned_session_cookie : {"session_id"=>"3e54506457a9ce3a12f2687048fac9ca", "warden.user.person.key"=>[[29434], "g96J_1sBQzz1Dzgu4K3D"], "_csrf_token"=>"[FILTERED]"}
* action_dispatch.request_id : 951c38e7-c986-4700-87c9-70bd0ce70f82
* action_dispatch.routes : #<ActionDispatch::Routing::RouteSet:0x00005d99ff0224b0>
* action_dispatch.secret_key_base : [FILTERED]
* action_dispatch.show_detailed_exceptions : false
* action_dispatch.show_exceptions : true
* action_dispatch.signed_cookie_digest :
* action_dispatch.signed_cookie_salt : [FILTERED]
* action_dispatch.use_authenticated_cookie_encryption : [FILTERED]
* action_dispatch.use_cookies_with_metadata : true
* newrelic.transaction_started : true
* puma.config : #<Puma::Configuration:0x00005d99f9f14370>
* puma.request_body_wait : 0.0043926239013671875
* puma.socket : #<UNIXSocket:0x0000737b15684418>
* rack.after_reply : []
* rack.errors : #<IO:0x00005d99f9335810>
* rack.hijack : #<Puma::Client:0x0000737b156843f0>
* rack.hijack? : true
* rack.input : #<Puma::NullIO:0x00005d99f9bf3bc8>
* rack.multiprocess : true
* rack.multithread : true
* rack.request.cookie_hash : {"__utma"=>"136922275.875972201.1703286775.1730283642.1730296339.51", "__utmb"=>"136922275.7.10.1730296339", "__utmc"=>"136922275", "__utmz"=>"136922275.1704378389.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)", "_ga"=>"GA1.1.875972201.1703286775", "_ga_5XJXN3VELE"=>"GS1.1.1730296336.261.1.17302...
* rack.request.cookie_string : __utma=136922275.875972201.1703286775.1730283642.1730296339.51; __utmb=136922275.7.10.1730296339; __utmc=136922275; __utmz=136922275.1704378389.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _ga=GA1.1.875972201.1703286775; _ga_5XJXN3VELE=GS1.1.1730296336.261.1.1730296571.0.0.0; _bikelink_session=kz0Ti%2FZwPIzJkNd2qtrppAw78%2BA6lScGagGaNM8%2BjJvKfZQ27iMuA5X7k6E4lyJHHsV7Q%2BxMHcBGY9qnZ3C5DssHdxfEgCfGTIwwSuZY8kpAfXeElozyZxMsUxT2fgS9k%2Fq%2F2XN7clt9CBB3wq8hu5DLFF28R4baymSw%2BwEVtPs8PgK5KaVAZ3sBJ9Yb00ctW0nx%2FhH86nDUYibG%2BOHFirKT6TllNNA3zNnrQRxmf8OwnA20qM5IHygjOeRKrKufmIZsrVgmcHduACLCHbe52L6Jn0BSBboSSNWGFuG0WOPGwKIm2XIBBftj9eCwm8S3oInq5diSpesU6fX1wdYEW4j5WqJRzZIVuvp35ZizpM09gWSa%2FEsPVW%2FfaqWvNh5bt4yeB0c%3D--44o0VADKLNOmP0aJ--tuzVFdUYNpqDD6BhnkFoMw%3D%3D; __utmt=1; _ga_5XJXN3VELE=deleted
* rack.request.query_hash : {"activity_logs_datagrid"=>{"timestamp"=>["", ""], "g7_access_hub_board_sn"=>"", "device_id"=>"", "serial_number"=>"21", "description"=>"", "per_page"=>"100"}, "commit"=>"Apply"}
* rack.request.query_string : activity_logs_datagrid%5Btimestamp%5D%5B%5D=&activity_logs_datagrid%5Btimestamp%5D%5B%5D=&activity_logs_datagrid%5Bg7_access_hub_board_sn%5D=&activity_logs_datagrid%5Bdevice_id%5D=&activity_logs_datagrid%5Bserial_number%5D=21&activity_logs_datagrid%5Bdescription%5D=&activity_logs_datagrid%5Bper_page%5D=100&commit=Apply
* rack.run_once : false
* rack.session : #<ActionDispatch::Request::Session:0x0000737b1566dd58>
* rack.session.options : #<ActionDispatch::Request::Session::Options:0x0000737b1566dd08>
* rack.tempfiles : []
* rack.url_scheme : https
* rack.version : [1, 6]
* warden : Warden::Proxy:2641160 @config={:default_scope=>:person, :scope_defaults=>{}, :default_strategies=>{:person=>[:two_factor_authenticatable, :two_factor_authenticatable, :rememberable]}, :intercept_401=>false, :failure_app=>#<Devise::Delegator:0x00005d9a014474a8>}
-------------------------------
Backtrace:
-------------------------------
app/decorators/activity_log_decorator.rb:18:in `device_link'
app/views/datagrid/_row.html.slim:9
app/views/datagrid/_row.html.slim:2:in `each'
app/views/datagrid/_row.html.slim:2
app/views/datagrid/_table.html.slim:11
app/views/datagrid/_table.html.slim:7
app/views/datagrid/_datagrid.slim:6
app/views/datagrid/_datagrid.slim:1
app/views/activity_logs/index.html.slim:3
app/controllers/application_controller.rb:45:in `process_action'