Rails:以hidden_​​field形式获取json值(giphy api)

时间:2016-12-21 12:44:42

标签: jquery ruby-on-rails json giphy-api

我使用Giphy搜索API让我的用户搜索gif并让他们添加gif。

以下是我的代码的简化部分:

_Form.html.erb

<%= form_for Task.new do |f| %>
<%= f.hidden_field :gif, id: "GifUrl", value: "" %>
<input type="text" name="search" placeholder="Search gif">
<!-- This part render the gif search result -->
<div id="score"></div>
<% end %>

我的部分脚本,我从giphy中获取gif的详细信息

  this.displayResult = function(url) {
    const target = document.getElementById('score');
    const img = document.createElement('img');
    img.src = url;

    target.appendChild(img);
  }

我想要做的是刮掉返回的gif链接的html src值,并通过hidden_​​field以我的形式传递它,但它返回:[object Object]作为值,而不是正确的gif链接。< / p>

 => #<Task id: 285, description: "", user_id: 37, gif: "[object Object]">

我应该使用像nokogiri这样的html解析器还是我做错了什么? 怎么能实现这个目标?

谢谢!

1 个答案:

答案 0 :(得分:0)

看起来当使用giphy-api时你会得到一个json response。您应该只考虑使用您要存储的图像大小的URL。 IE

var attempts=0;
var $code="youknowme";

$('.go').on('click',function(){
    if($('#pass').val()===$code){
        window.open("3.html");
    }else{
        alert("wrong code");
        attempts=attempts+1;
    }   
    if(attempts===2){      /*this code not working*/
        alert("You have last chance left");
    }
    else if(attempts===3){
        window.close();
    }
});