【问题标题】:Consuming APIs in Rails 4 app在 Rails 4 应用程序中使用 API
【发布时间】:2015-03-27 21:09:21
【问题描述】:

我想使用 semantics3 API 在我的电子商务网站上列出一些产品。这是一个简单的问题,但我确实成功地使用了其他几个 API。

这是他们的宝石 - https://github.com/Semantics3/semantics3-ruby

  1. 我应该将 API 凭据放在哪里?
  2. 例如,当我创建 Search 控制器时,如果我想搜索产品,我在 index 方法中究竟放了什么?如何在 index.html.erb 视图文件中列出结果?

【问题讨论】:

    标签: ruby-on-rails api


    【解决方案1】:

    我会尝试将https://github.com/Semantics3/semantics3-ruby#setup-work 放入初始化程序中。

    像这样的

    require 'semantics3'
    
    SEMANTICS = Semantics3::Products.new(ENV['SEMANTICS_API_KEY'], ENV['SEMANTICS_API_SECRET'])
    

    进入 config/initializers/semantics.rb

    并设置环境变量 SEMANTICS_API_KEY 和 SEMANTICS_API_SECRET

    然后在控制器中正常使用语义

    【讨论】:

    • 你能给我一个简单的例子吗?如何在 SearchController 中定义 index 方法以及如何在 views/search/index.html.erb 中列出结果...这样可以吗:def index productsHash = sem3.get_products(params[:query]) puts productsHash。 to_json 结束
    • 我会说要始终清理您的查询参数,即不要使用 params[:query],而是使用只接受 params[:brand_name] 等值的清理程序,然后像 SEMANTICS..products_field( "brand", params[:brand_name]) 一样自己构建查询使用演示者是个好主意.. ruby-toolbox.com/categories/rails_presenters
    【解决方案2】:

    1.) 在此处使用 API 凭据

    API_KEY = 'SEM3xxxxxxxxxxxxxxxxxx'       #Use you api key here
    API_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxx'  #Use you API secret here
    
    #Receive data after verfiying the API credentials
    sem3 = Semantics3::Products.new(API_KEY,API_SECRET)
    
    sem3.products_field( "search", "Samsung Galaxy" )
    

    2.) 如果您向我展示您的代码会有所帮助吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 2017-06-16
      • 2015-06-27
      • 1970-01-01
      相关资源
      最近更新 更多