CheckBox_Tag в Rails - PullRequest
       1

CheckBox_Tag в Rails

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

Я использую рельсы 3.1 и ruby ​​1.9.2. Используя checkbox_tag, я хочу, чтобы когда я нажимал на флажок, переменная (говорит @post) была установлена ​​в true, а затем передавалась контроллеру. Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 21 марта 2012

Вот пример jquery и кода просмотра для редактирования / сохранения в реальном времени из представления с использованием ajax:

В application.js:

 jQuery('#tranx_field').live('change', function() {
    var attr_value = $(this).val();
    var attr_name =  $(this).next("input[id=attr_name]").val();
    var tranx_id = $(this).parent().parent().parent().children("input[id=tranx_id]").val();

    $.ajax({
        url: "/tranxes/" + tranx_id,
        dataType: "json",
        type: "PUT",
        processData: false,
        contentType: "application/json",
        data: "{\"tranx\":{\"" + attr_name + "\":\"" + attr_value + "\"}}"
    });
 });

И код просмотра:

<%= hidden_field_tag 'tranx_id', @tranx.id %>
    <div class="row">
      <div class="span6 id="left_col">
            <b>Salesrep:</b>
                <%= text_field_tag 'tranx_field', @tranx.salesrep,:class => "itemfieldsm" %>
                <%= hidden_field_tag 'attr_name', "salesrep" %>
            <br>
0 голосов
/ 20 марта 2012

В представлении вы можете добавить следующее

hidden_field_tag 'post', false
check_box_tag 'post', true

в контроллере при отправке формы, вы можете просто назначить его:

@post = params[:post]

Скрытое значение просто для установки значения по умолчанию, которое будет перезаписано, если установлен флажок

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