【发布时间】:2019-06-18 13:10:23
【问题描述】:
我有一个 Rails api,它使用 HTTParty gem 使用外部设计搜索 api。使用返回到我的视图的数据,我希望能够将选定的条目保存到我的数据库中。有点像书签功能。无论如何,在每个搜索结果项旁边都有一个按钮可以实现这一点吗?任何帮助将不胜感激。我当前的代码如下。
设计控制器:
class DesignsController < ApplicationController
def index
@search = Api.new.find(params[:q])['results']
end
end
类方法:
class Api
include HTTParty
base_uri "http://search.example.com/searchv2"
attr_accessor :name, :limit, :offset
# Find a particular design, based on its name
def find(name)
self.class.get("/designs", query: { q: name }).parsed_response
end
end
查看:
<h1>Design Search</h1>
<%= form_tag(designs_path, method: :get) do %>
<%= label_tag(:q, "Search for:") %>
<%= text_field_tag(:q) %>
<%= submit_tag("Search") %>
<% end %>
<h2>Search results:</h2>
<% @search.each do |design| %>
<h3><%= design['name'] %></h3>
<h5><%= image_tag design['thumbnail_url'] %></h5>
<% end %>
设计模型:
class Design < ApplicationRecord
end
【问题讨论】:
-
Design模型你用什么?因为这是放置/存储“结果”(对于他们单击的每个项目)的理想场所。如果这已经是您的意图,但您不知道如何处理,请参阅下面的答案。 -
@Jay-Ar 是的,这就是设计模型的目的。
标签: ruby-on-rails json ruby api httparty