Вопрос

Используя Rails 3.0.3 в сочетании с драгоценными камнями, такими как Depise, я не получаю никаких флэш -сообщений. Теперь я упоминаю, что разработка, потому что он контролирует файлы cookie, используемые для аутентификации меня.

Теперь приложение Rails немного особенное с момента его использования субдомены. Анкет Что они делают, так это сообщают приложению, какую компанию просматривает пользователь. Пример: mycompany.theapp.com/projects/3/ <- Проект 3 компании "Mycompany".
Когда пользователь входит в систему, он/она направлен на Theapp.com/overview <- non subdomain
Каждое уведомление там показывает, так почему бы не на страницах поддонов?

Так что это код, используемый на страницах поддомена. Точно так же, как кто-то поместил бы его на страницах без доменов. Код в контроллере:

def update
  redirect_to [@project], :notice => "Project #{@project.name} updated."
end

Mayouts/Application.html.erb

<% flash.each do |type, message| %>
  <%= content_tag :div, message, :class => "flash #{type}" %>
<% end %>

Я также добавил следующее, пытаясь выяснить, что происходит:

flash.to_yaml
# Result: --- !map:ActionDispatch::Flash::FlashHash {} 

Поскольку, по -видимому, Devise использует Flash [: vement], я также попробовал это (потому что это работало для разработки).

flash[:notice] = "Project #{@project.name} updated."
# Result: --- !map:ActionDispatch::Flash::FlashHash {} 

Теперь уведомления получают отправку с помощью файлов cookie или сеансов, которые не переносятся хорошо в субдомены? Потому что форма редактирования проекта находится на mycompany.theapp.com/projects/3/edit/
И это отправляет меня на mycompany.theapp.com/projects/3/ (без предварительного уведомления)

Это происходит на Ubuntu 10.10 с «Rails Server», пассажиром с использованием Nginx и даже на машине Mac (но кто -то еще проверил это).

Кто -нибудь хочет угадать?

Это было полезно?

Решение

Видимо, на самом деле что -то не так с конфигурацией. Мы развернули его на сервере очень быстро, режим производства, и это сработало, к нашему удивлению. Уведомления появлялись во всех доменах.
Это что -то с местными доменами, я использовал lvh.me, что Rails не совсем.

Подсказка был в (недавнем) комментарии к Railscast:

http://railscasts.com/episodes/221-subdomains-in-rails-3?view=comments#comment_146276 Есть одна важная вещь, которую нужно знать, если вы хотите поделиться сеансами между поддоменами на Localhost. Использование: domain => ". blog.plataformatec.com.br/2009/12/subdomains-and-sessions-the-reescue/

@David SULC, пользователи были вошли в систему.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top