Jump to content
niochapeco

Gerar formulário para a aplicação ruby on rails

Recommended Posts

Boa noite pessoal, 

 

Estou estudando, aprendendo Ruby on Rails

 

Mas uma dúvida que tive e pesquisei um pouco é qual a melhor ou o que acham as melhores gems para gerar formulários (telas) para aplicativos internos, não voltados a internet?

Por exemplo um sistema de RH para treinamento, onde o uso não é de alguém que esta navegando pela internet, mas sim um funcionário administrativo da empresa.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By MatheusSmidt
      Bom dia,
      Estou precisando de ajuda com o código do formulário de um sistema de cadastro.
      A página é para consulta mas tem a possibilidade de adicionar ou retirar "faltas" de cada profissional cadastrado através de botões simples e também apagar um ou múltiplos profissionais da lista, através de checkbox..
      Essa ações atualizam o banco de dados e já retornam na tela automaticamente.
      O problema é que não fui eu que estruturei o código PHP e não consigo aliar as duas funções que falei anteriormente. Quando consigo fazer funcionar o sistema de adição e redução de faltas, consigo apenas excluir o último nome da lista, mesmo selecionando vários. E quando consigo resolver a parte de excluir vários nomes, não consigo adicionar e reduzir o número de faltas.
      O código é o seguinte:
       
      <?php
      require_once ("verifica.php");
      require_once ("topo.php");
      require_once ("conexao.php");
      $enviar = isset($_POST["txtEnviar"]) ? $_POST["txtEnviar"]: '';
      $ordenar = isset($_GET["ordenar"]) ? $_GET["ordenar"]: '';
      if ($ordenar == "")
          $ordenar = "nome";
      if ($enviar != 1) {
          $query = mysql_query("select * from docente order by $ordenar") or die ("Erro ao selecionar dados do docente! ".mysql_error());
      } else {
          $rdCriterio = $_POST["rdCriterio"];
          $pesquisar = $_POST["txtPesquisar"];
          $query = mysql_query("select * from docente where $rdCriterio like '%$pesquisar%'") or die ("Erro ao efetuar a pesquisa! ".mysql_error());
      }
      $totalDocentes = mysql_num_rows(mysql_query("select * from docente"));
      ?>
      <div id="meio">
          <h2>Lista de docentes (<?php echo $totalDocentes;?>)</h2><br>
          <table id="tbPesquisarDocente">
          <form action=consultarDocente.php method=post>
          <input type=hidden name=txtEnviar value=1>
          <tr>
          <td id=search>Pesquisar por: <input type=radio name=rdCriterio value="siape" checked>Siape <input type=radio name=rdCriterio value="nome"> Nome <input type=radio name=rdCriterio value="curso">Curso <input type=text name=txtPesquisar> <input type=submit value="OK"></td>
          </tr>
          </form>
          </table>
          <br><br>
          <table id="dadosDocente" cellspacing=0>
          <form action="consultarDocente.php" method="post">
          <tr id="cabecalho">
          <td><a href="?ordenar=siape">Siape</a></td>
          <td><a href="?ordenar=nome">Nome</a></td>
          <td><a href="?ordenar=curso">Curso</a></td>
          <td><a href="?ordenar=faltas">Faltas</a></td>
          <td><a href="?ordenar=excluir">Excluir</a></td>
          <td><!-- Espaço para checkbox --></td>
          </tr>
          <?php
          while ($resultado = mysql_fetch_array($query)) {
              $id = $resultado["id"];
              $siape = $resultado["siape"];
              $nome = $resultado["nome"];
              $curso = $resultado["curso"];
              $faltas = $resultado["faltas"];
          ?>
          </form>
          <tr id="dados" bgcolor="">
          <td><a href="frmDetalheDocente.php?id=<?php echo $id;?>" style="color: <?php echo $cor;?>"><?php echo $siape;?></style></a></td>
          <td><?php echo $nome;?></td>
          <td><?php echo $curso;?></td>
          
          <td align="center">
              <table>
                  <tr>
                      <td><a href="menosum.php?id=<?php print $id;?>"><button name="Btt" style="width:10px">-</button></a></td>
                      <td><?php echo $faltas?></td>
                      <td><a href="maisum.php?id=<?php print $id;?>"><button name="Btt" style="width:10px">+</button></a></td>
                  </tr>
              </table>
          </td>
          
          <form action="apagaSelecionadosDocente.php" method="post">
          <td><input type="checkbox" name="chkDeletar[]" value="<?php echo $id;?>"></td>
          </tr>
          <?php
          }
          ?>
          
          <tr>
          <td colspan=4 align="center"><br><input type="submit" value="Apagar selecionados" style="width: 300px;"></td>
          </tr>
          </form>
          </table>
      </div>
      <?php
      require_once ("rodape.php");
      ?>
       
       
      Provavelmente é um problema no "WHILE" ou na abertura e fechamento de formulário. Porém não consegui resolver.
      Se alguém conseguir resolver seria ótimo.
      Agradeço desde já. Em anexo envio um print da página para melhor entendimento.
       
       
       

    • By Hlameiras
      Olá!
       
      Estou tentando desenvolver um formulário dinâmico em PHP, em que o utilizador ao clicar num determinado botão possa acrescentar campos de INPUTs ou SELECTs no mesmo.
      Encontrei este exemplo que funciona mas tem limitações:
      https://www.formget.com/how-to-dynamically-add-form-fields-and-increment-name-attribute-of-the-field/
       
      O problema é que os campos adicionais são gerados pelo lado do cliente (Javascript) e não pelo lado do servidor, logo no caso de gerar SELECTS que vão buscar informação a uma Base de Dados, as opções de escolha não são apresentadas. Qual será a melhor solução para resolver este problema?
       
      Agradecido!
       
       
       
    • By Numero 0800
      Sou bastante iniciante e estou aprendendo sobre HTML, CSS e JavaScript. Estou querendo fazer algo que acredito ser bem simples mas eu não tenho ideia de por onde começar, meu problema é o seguinte:
      Imagina um site de vendas (na parte do administrador do site) e quando o administrador clica em "Adicionar um novo produto" ele preenche um formulário, e assim  este produto aparece logo em seguida na pagina com as informações que foi inserida no formulário.
       
      A minha duvida é a seguinte ---> Como eu faço para que sempre que eu preencher um formulário o site criar automaticamente uma DIV com as informações que foram ali inseridas?
      Eu só preciso de um simples exemplo que o resto eu me viro, porque não estou conseguindo encontrar esta informação na net, só acho formulários do tipo "Crie sua conta" onde você envia informações para ficarem no servidor, mas eu quero um formulário onde ao ser preenchido ele simplesmente crie uma div nova na pagina e que todos possam ver.
       
      Por exemplo: Esse pot de agora, onde estou preenchendo um formulário e quando eu terminar ele vai criar a div automaticamente para todos poderem vem.
       
      OBS: Eu já tenho o modelo da div que eu quero, expliquem também como faz para essa div que vai ser criada seja uma copia da div anterior.
    • By joaopedropeterle
      Boa tarde pessoal!
       
      Preciso fazer os valores digitados no campo do formulário serem escritos de forma inversa, pois se trata de dinheiro, nada do que fiz deu certo até agora... meu código está assim:
       
      var valor = $("#valor"); valor.keyup(() => { valor.val(VMasker.toPattern(valor.val(), "999.999.999,99", {reverse: true})); }) #valor é a ID do campo onde será inserido... Não sei se fui bem claro, sou apenas iniciante...rsrs
    • By roohmcd
      Galera, seguinte, eu tenho um formulário com dois selects ocultos, eles serão exibidos somente quando eu selecionar uma das opções no select pai, porém toda vez que faço o envio deste ele pega o valor de um select oculto. Tem alguma maneira de fazer com ele só pegue o valor se eu selecionar a opção no select pai ?
       
      Este é meu formulário:
       
      <form id="createusers" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" class="needs-validation" oninput='userrepassword.setCustomValidity(userrepassword.value != userpassword.value ? "Senhas não conferem." : "")' novalidate> <div class="form-group"> <div class="input-group"> <div class="input-group-prepend"> <div class="input-group-text"><i class="fas fa-user-circle"></i></div> </div> <input id="username" name="username" placeholder="Usuário" type="text" aria-describedby="usernameHelpBlock" required="required" class="form-control"> <div class="invalid-feedback">Por favor, digite um nome de usuário válido.</div> </div> <small id="usernameHelpBlock" class="form-text text-muted">Digite um nome de usuário.</small> </div> <div class="form-group"> <div class="input-group"> <div class="input-group-prepend"> <div class="input-group-text"><i class="fa fa-lock"></i></div> </div> <input id="userpassword" name="userpassword" placeholder="Senha" type="password" required="required" class="form-control" aria-describedby="userpasswordHelpBlock"> <div class="invalid-feedback">Por favor, digite uma senha.</div> </div> <small id="userpasswordHelpBlock" class="form-text text-muted">Digite uma senha para o usuário. Sua senha deve ter no mínimo 6 caracteres.</small> </div> <div class="form-group"> <div class="input-group"> <div class="input-group-prepend"> <div class="input-group-text"><i class="fa fa-lock"></i></div> </div> <input id="userrepassword" name="userrepassword" placeholder="Confirme a senha" type="password" required="required" class="form-control" aria-describedby="userrepasswordHelpBlock"> <div class="invalid-feedback">Por favor, confirme a senha.</div> </div> <small id="userrepasswordHelpBlock" class="form-text text-muted">Confirme a senha.</small> </div> <div class="form-group"> <label>Informe o grupo do usuário</label> <select id="usergroup" name="usergroup" class="form-control" required> <option value="">-- Selecione uma opção --</option> <option value="neg">Negado</option> <option value="tot">Total</option> <option value="controlado">Controlado</option> <option value="restrito">Restrito</option> <option value="lib">Liberado</option> <option value="noc">No Cache</option> </select> <div class="invalid-feedback">Por favor, selecione uma opção para informar o grupo do usuário.</div> <small id="usergroupHelpBlock" class="form-text text-muted">Selecione um grupo para o usuário.</small> </div> <div class="form-group"> <label>Selecione o grupo controlado para o usuário</label> <select id="usergroup-controlado" name="usergroup" class="form-control"> <option value="c01">Controlado 01</option> <option value="c02">Controlado 02</option> <option value="c03">Controlado 03</option> </select> </div> <div class="form-group"> <label>Selecione o grupo restrito para o usuário</label> <select id="usergroup-restrito" name="usergroup" class="form-control"> <option value="r01">Restrito 01</option> <option value="r02">Restrito 02</option> <option value="r03">Restrito 03</option> <option value="r04">Restrito 04</option> <option value="r05">Restrito 05</option> <option value="r06">Restrito 06</option> <option value="r07">Restrito 07</option> <option value="r08">Restrito 08</option> <option value="r09">Restrito 09</option> </select> </div> <div class="form-group"> <button id="submitcreateuser" name="submitcreateuser" type="submit" class="btn btn-primary">Criar Usuário</button> </div> </form> E para ocultar estes selects uso os seguintes scripts:
       
      <script type="text/javascript"> (function( $ ){ $.fn.dependsOn = function(element, value,callback) { var elements = this; var isContainer = false; //add change handler to element $(element).change(function(){ var $this = $(this); var showEm = false; if ( $this.is('select') ) { var fieldValue = $this.find('option:selected').val(); if ( !value ) { showEm = fieldValue && $.trim(fieldValue) != ''; } else if (typeof(value) === 'string') { showEm = value == fieldValue; } else if ($.isArray(value)) { showEm = ($.inArray(fieldValue, value) !== -1); } } else if ($this.is('input[type="text"]')){ var fieldValue = $this.val(); if ( !value ) { showEm = fieldValue && $.trim(fieldValue) != ''; } else if (typeof(value) === 'string') { showEm = value == fieldValue; } else if ($.isArray(value)) { showEm = ($.inArray(fieldValue, value) !== -1); } } // add containers for input else if ($this.hasClass('depends-container')){ isContainer=true; var target = $this.find('input[type="text"]'); var fieldValue = target.val(); if ( !value ) { showEm = fieldValue && $.trim(fieldValue) != ''; } else if (typeof(value) === 'string') { showEm = value == fieldValue; } else if ($.isArray(value)) { showEm = ($.inArray(fieldValue, value) !== -1); } } if(isContainer){ elements.each(function(){ $(this).toggle(showEm); if(callback){ callback(); } }); }else{ elements.closest('div').toggle(showEm); if(callback){ callback(); } } }); //hide the dependent fields return elements.each(function(){ var $this= $(this); var isContainer= false; $(element).each(function(index){ var el = $(this); if(el.hasClass('depends-container') && el.find('input[type="text"]').length){ isContainer = true; el = el.find('input[type="text"]'); if(el.val() != '' && $this.is('visible') == false ){ $this.show(); if(callback){ callback(); } } } }); if(!isContainer){ $(this).closest('div').hide(); } }); }; })( jQuery ); </script> <script type="text/javascript"> $('#usergroup-controlado').dependsOn('#usergroup', ['controlado']); $('#usergroup-restrito').dependsOn('#usergroup', ['restrito']); </script> E este é o script que faz o envio do formulário, onde obtenho as informações preenchidas:
       
      <?php if(isset( $_POST['submitcreateuser'] )) { $fullname = $_POST["fullname"]; $username = $_POST["username"]; $userpassword = $_POST["userpassword"]; $userrepassword = $_POST["userrepassword"]; $networkaccess = $_POST["networkaccess"]; $usergroup = $_POST["usergroup"]; $createuser = "$username $fullname $networkaccess $usergroup $userpassword $userrepassword s -a; echo $?"; echo "<pre> >> $createuser << </pre>"; } ?> Os selects ocultos são os do grupo Controlado e Restrito, quando selecionar essas opções ele abre outro select com as opções respectivas, tipo Controlado ele irá exibir o select Controlado 01, Controlado 02, Controlado 03. E assim serve também para a opção Restrito.
       
      Tem algo de errado no meu formulário ?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.