Я всегда знал, что в HTML-формах идентификаторы и имена должны быть уникальными, если только вы не работаете с переключателями или в этом случае флажками. Ваш код выглядит немного перегруженным, то есть у вас есть 2 имени и 2 значения на каждом флажке, и будет работать только последний из них обоих, поэтому вместо этого:
<input type="checkbox" name="state_name" value="Connecticut" name="abbreviation" value="CT"> Connecticut<br>
Попробуйте использовать только один из этих атрибутов:
<input type="checkbox" name="abbreviation" value="CT"> Connecticut<br />
Обычно, в для php мы добавляем '[]' в конце имени, и вы получите массив значений, которые были проверены. Но поскольку вы используете ruby, с которым я немного знаком, я видел, что разработчики ruby предпочитают быть более выразительными в своем коде, и иногда они делают такие вещи:
<input type="checkbox" name="abbreviation[city_1]" value="CT">Connecticut<br />
<input type="checkbox" name="abbreviation[city_2]" value="DE">Delaware<br />
и т. Д.
Вы можете увидеть пример этого, здесь , хотя я верю, что вы можете сделать это с пустым '[]', но просто чтобы вы знали, что мне сказали, что это php-ish способ сделать это.
Ура!