Тестирование рендеринга данного расположения с RSpec & Rails

В PHP функции не будут оценены в строках, потому что существуют различные правила для переменных.

Параметр действия к тегу в HTML не должен ссылаться на функцию PHP, которую Вы хотите выполнить. Действие должно относиться к странице на веб-сервере, который обработает вход формы и возвратит новый HTML пользователю. Это может быть тем же местоположением как Сценарий PHP, который производит форму, или некоторые люди предпочитают делать отдельный файл PHP для обработки действий.

Базовый процесс является тем же так или иначе:

  1. Генерируйте HTML-форму пользователю.
  2. Пользователь заполняет форму, щелчки отправляют.
  3. Данные формы отправляются в местоположения, определенные действием с сервером.
  4. Сценарий проверяет данные и делает что-то с ними.
  5. Обычно новая страница HTML возвращается.

Простой пример был бы:


    

'; } ?>

Для будущей информации я рекомендую читать учебные руководства PHP: http://php.net/tut.php

Существует даже раздел о Контакте с формами.

27
задан DEfusion 20 September 2008 в 20:33
поделиться

2 ответа

controller.active_layout.name у меня работает.

1
ответ дан 28 November 2019 в 04:05
поделиться

Вот версия кода dmcnally, которая не позволяет передавать аргументы , заставляя работать «should use_layout» и «should_not use_layout» (чтобы утверждать, что контроллер использует любой макет или никакой макет, соответственно, из которых я бы ожидал, что только второй будет полезен, поскольку вы должны быть более конкретными, если он использует макет):

class UseLayout
   def initialize(expected = nil)
     if expected.nil?
       @expected = nil
     else
       @expected = 'layouts/' + expected
     end
   end
   def matches?(controller)
     @actual = controller.layout
     #@actual.equal?(@expected)
     if @expected.nil?
       @actual
     else
       @actual == @expected
     end
   end
   def failure_message
     if @expected.nil?
       return 'use_layout expected a layout to be used, but none was', 'any', @actual
     else
       return "use_layout expected #{@expected.inspect}, got #{@actual.inspect}", @expected, @actual
     end
   end
   def negative_failure_message
     if @expected.nil?
       return "use_layout expected no layout to be used, but #{@actual.inspect} found", 'any', @actual
     else
       return "use_layout expected #{@expected.inspect} not to equal #{@actual.inspect}", @expected, @actual
     end
   end
end


def use_layout(expected = nil)
   UseLayout.new(expected)
end
0
ответ дан 28 November 2019 в 04:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: