Задать вопрос
@isd1227

Как записать в json на ruby on rails?

Так и не получил ответ на вопрос, который раньше задавал, решил перефразировать.

У меня есть форма написанная на RoR, мне нужно сделать так, чтобы когда я заполняю в этой форме поля:
Имя: "ввод"
Город: "ввод"
Телефон: "ввод"

Значения "ввод" должны быть записаны в документ формата JSON в виде:
{
	"data": [{
		"name": "ввод",
		"сity": "ввод",
		"phone": "ввод"
	}, {
		"name": "ввод",
		"сity": "ввод",
		"phone": "ввод"
	}
}


На PHP это вроде как делается примерно таким образом:
<?
session_start();
  require_once("include/db_connect.php");
?>

<?
if($_SERVER["REQUEST_METHOD"] == "POST"){
  $id=$_SESSION['id'];
  $name_marker=$_POST['name_marker'];
  $description_marker=$_POST['description_marker'];
  $sh=$_POST['sh'];
  $dg=$_POST['dg'];
  $rt=$_POST['rt'];
  
  if(!empty($_SESSION['login_suc'])){
    $sql="INSERT INTO 
    `markers`(`id_marker`, `id_user`, `title`, `desc`, `reit`, `sh`, `dg`) VALUES
     ('','".$id."','".$name_marker."','".$description_marker."','".$rt."','".$sh."','".$dg."')";
      $stmt=$dbh->prepare($sql);
      $stmt->execute();
      echo "Вы добавили маркер";
    $sql="SELECT * FROM markers";
        $query=$dbh->query($sql);
        foreach ($query=$dbh->query($sql) as $row) 
        {
          $array[]=$rows[] = array(
            "name"=>$row["title"],
          "info"=>$row["desc"],
          "reit"=>$row["reit"],
          "lat"=>$row["sh"],
          "lng"=>$row["dg"]
         );
        }
       $file='places.json';
       $a='{"placesData":';
       $a=$a.json_encode($rows).'}';
       file_put_contents($file, $a);
  }else{
    echo "Вам необходимо авторизироваться";
  }
}
?>

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

решения не прошу, но хотелось бы конкретного пинка в нужную сторону
  • Вопрос задан
  • 1326 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
Вы просто не хотите читать документацию а люди не желают разжевывать вам азы.
POST запрос в рельсах это хэш массив, читаем руби доки про json и там сразу-же получите ответ.
Ответ написан
Комментировать
f1int
@f1int
Если хочешь сохранять данные в json формате, то можно воспользоваться serialize - прописывается для поля, которое будет хранить данные
api.rubyonrails.org/classes/ActiveRecord/Attribute...

Для вывода json нужном экшене вызывай
render json: @marker.desc # если desc - то самое поле


Как пример:
class IndexController < ApplicationController
  def index
    render json: { hellow: :world }
  end
end
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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