У меня есть ситуация, когда одна конкретная ссылка приводит к пустому хэшу сеанса.
Это не хорошо, так как мне нужно найти модель с помощью session_id.
Ссылка, которая вызывает проблемы:
<div id="marker_images">
<% @marker_image_urls.each do |image_url| %>
<%= link_to( image_url,
location_type_path(@location_type.id,
:location_type => {:preset_marker_url => image_url}),
:method => :put,
:remote => true ) %>
<% end %>
</div>
и код, который находит модель по идентификатору сеанса (который вызывается с использованием before_filter):
def get_organisation
@organisation = Organisation.find_by_session_id(session[:session_id])
end
В режиме отладки, session
== {}
Если я изменю link_to на HTTP «get» вместо «put», сеанс будет отправлен.
Однако этот запрос не подходит для метода get, поскольку он изменяет данные.
Почему «get» включает сессию, а «put» нет?