как снять флажок в форме Ruby во время загрузки - PullRequest
0 голосов
/ 21 декабря 2011

Я использую Ruby on Rails для создания формы, имеющей флажок;я пытаюсь добиться следующего поведения:

  1. пользователь загружает форму
  2. , пользователь заполняет форму и включает флажок
  3. когда "Нажмите кнопку «Отправить», некоторые действия будут выполнены (потому что флажок установлен)
  4. если пользователь снова загрузит форму, флажок будет снят, поэтому никакие действия не будут выполнены
  5. пользователь может снова заполнить форму с новыми значениями и при желании отправить их

Я наблюдаю такое поведение, что на шаге 4 действия выполняются снова сразу же, когда формазагружен, и это нежелательно, потому что эти действия уже были выполнены на шаге 3. Для информации, выполняемые мной действия также встроены в тот же файл частичного представления, что и сама форма.Это, вероятно, неправильный способ сделать это, но он работает нормально, если речь идет о выполнении действий.

Я пробовал много вещей и пробовал все комбинации отмеченных без галочки, единственная, которая отображала окнонепроверенным является :checked=>"unchecked", но поведение по-прежнему не такое, как я.

Каков наилучший способ реализации этого сценария?

Флажок настроен следующим образом:

<%= f.label "CheckToApply" %>
<%= f.check_box :CheckToApply, :id=>"CheckToApply", :name=>"CheckToApply", :checked=>"unchecked", :value=>"0" %>

и компилируется в следующее:

<label for="test_Check to Apply">Check to apply</label>
<input name="CheckToApply" type="hidden" value="0" /><input id="CheckToApply" name="CheckToApply" type="checkbox" value="1" />

Я пробовал много способов, таких как установка значения в частичном представлении

if @test.CheckToApply == 1
    @test.CheckToApply=0
    <... more actions are added here ...>
end

Я тестировал печатьючто-то внутри раздела «если конец» и, кажется, работает хорошо, но это не сработало, потому что каждый раз, когда форма загружается, действия выполняются снова, прежде чем пользователь выбирает новые значения.

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