Разработать рельсы - сообщения об ошибках в другом представлении? - PullRequest
1 голос
/ 19 марта 2012

Я пытаюсь показать свои ошибки (как flash, так и devise) в одном из моих файлов макета (_header.html.erb):

<div id="alerts">
<% flash.each do |name, msg| %>
  <%= content_tag :div, msg, :id => "flash_#{name}" if msg.is_a?(String) %>
<% end %>
  <%= devise_error_messages! %>
</div>

но я получаю сообщение об ошибке: неопределенная локальная переменная или метод `resource ', потому что сообщение об ошибке больше не находится в форме разработки. Я попробовал метод, предложенный здесь: http://pupeno.com/2010/08/29/show-a-devise-log-in-form-in-another-page/, вставив этот код в файл application_controller.rb. Неудачно. Идеи? * * 1006

о. Я забыл упомянуть ... Страницы работают без ошибок, но мои тесты не проходят ... Вот неудачный тест:

it 'succeeds with a valid email and password' do
  user = Factory.create(:user)

  visit sign_in_path
  fill_in 'user_email', :with => user.email
  fill_in 'user_password', :with => user.password
  click_button 'Sign in'
  page.should have_content("hi #{user.username}")
end

Это Rails3, к вашему сведению.

Ответы [ 2 ]

0 голосов
/ 19 марта 2012

получается, что код должен быть в application_helper вместо контроллера, но код на pupeno.com работает!

0 голосов
/ 19 марта 2012

Я получал ошибки, подобные этой, и решил с помощью: частичного и: локальных при использовании метода рендеринга:

<%= render :partial => 'header', :locals => { :flash => flash } %>

См. Rails 3: "неопределенная локальная переменная или метод", если я помещаю содержимоев частичном

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...