首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过rails表单搜索外部API并在视图中显示结果

通过rails表单搜索外部API并在视图中显示结果
EN

Stack Overflow用户
提问于 2016-09-15 14:12:43
回答 1查看 2K关注 0票数 1

我需要从外部API搜索数据(教程),由我的rails应用程序中的一个表单提供2个参数(标签和设备)。

在我的路线中,我有:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
resources :search_lists, only: [:index] do
  collection do
    post :search
  end
end

下面是我认为我应该放入我的SearchListsController中的内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def index
  @search_parameter = params[:tags]
end

def search
end

我不确定我将如何组织我的代码,以及我应该在哪里传递API调用。

这是我的观点,rails不能识别search_lists_url

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<form action="<%= search_lists_url %>">
  <input type="text" name="" value="" placeholder="Search by tag">
  <label >Filters:</label>
  <input type="checkbox" value="first_checkbox">Smarthpone
  <input type="checkbox" value="second_checkbox">Tablet
  <input type="checkbox" value="third_checkbox">Mac
  <br>
  <input type="submit" value="Search">
</form>

有人能帮帮我吗?:)

EN

回答 1

Stack Overflow用户

发布于 2016-09-15 15:44:38

如果它是外部API,则您的API使用者无法识别API应用程序的路由助手。更好的方法是让表单操作调用消费者应用程序中的控制器操作的url,然后处理此控制器操作上的API调用。

例如,在您的API使用者应用程序中,您可以在路由中包含以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
post "search_lists" => "lists#search", as: :search

然后在controllers目录中创建一个包含如下搜索操作的lists_controller.rb文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 class ListsController < ApplicationController
     include HTTParty

     def search
     ## make your API Call on this action
      response = HTTParty.post(your_api_host_url/search_lists/search, {body: [#your form input data##]})
     end
 end 

您可以将返回的JSON解析为ruby数组,并在视图中显示它。在我使用HTTP发出HTTParty请求的例子中,您可以使用其他可用的Ruby库来完成同样的任务。

您的表单现在可以如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%= form_tag search_path, method: :post do %>
  <%#= Your input tags %>
<% end %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39513363

复制
相关文章

相似问题

如何使用rails搜索外部API并显示结果?

11

解析API并在Rails视图中显示输出

11

Rails搜索表单-直接显示顶部结果

10

通过外部API搜索时显示数据

15

ruby on rails调用外部api并显示结果

223
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文