在视图上显示来自 HTTparty 的 GET 请求
Displaying GET request from HTTparty on view
我目前有一个名为 example.rb
的简单 ruby 文件。我如何创建一个视图,允许用户将信息提交到表单中,然后将 GET 请求中的信息返回给他们?我了解如何从控制台使用这些请求,而不是从前端使用这些请求。
关于此主题的资源也将不胜感激。
require 'rubygems'
require 'httparty'
class StackExchange
include HTTParty
base_uri 'api.stackexchange.com'
def initialize(service, page)
@options = {query: {site: service}}
end
def questions
self.class.get('/2.2/questions', @options)
end
def users
self.class.get('/2.2/users', @options)
end
end
stack_exchange = StackExchange.new('Whosebug',1)
puts stack_exchange.users
确保 HTTParty gem 在您的应用程序的 Gemfile
.
中
取 example.rb
并将其放入 /app/models/stack_exchange.rb
— 是的,文件名很重要 [0](这不是纯粹主义者放这个的地方,但对于初学者来说很好并且完全可以接受).也删除您用来测试它的底部代码。
在routes.rb
中添加这条路线:get '/test' => 'application#test'
在您的 application_controller.rb
中添加此方法:
def test
stack_client = StackExchange.new('Whosebug', 1)
@users = stack_client.users
end
在 app/views/application/test.html.erb
中输入以下内容:
<% @users.each do |user| %><%=user.inspect%><br/><br/><% end %>
注意:否则我会建议向 ApplicationController
添加视图,但因为我对您的应用程序一无所知,所以我会默认使用它。
点击 http://localhost:3000/test,您应该会看到预期的结果。
[0] Rails 在幕后做了很多 "magic" — 这真的不是魔法,而是元编程 — 它试图假设很多关于您的应用程序结构和命名约定的事情。如果您的 class 被命名为 Stackexchange
(注意小写 e
),stackexchange.rb
将自动 "mapped" 到 class Stackexchange
.更多信息:http://guides.rubyonrails.org/autoloading_and_reloading_constants.html
我目前有一个名为 example.rb
的简单 ruby 文件。我如何创建一个视图,允许用户将信息提交到表单中,然后将 GET 请求中的信息返回给他们?我了解如何从控制台使用这些请求,而不是从前端使用这些请求。
关于此主题的资源也将不胜感激。
require 'rubygems'
require 'httparty'
class StackExchange
include HTTParty
base_uri 'api.stackexchange.com'
def initialize(service, page)
@options = {query: {site: service}}
end
def questions
self.class.get('/2.2/questions', @options)
end
def users
self.class.get('/2.2/users', @options)
end
end
stack_exchange = StackExchange.new('Whosebug',1)
puts stack_exchange.users
确保 HTTParty gem 在您的应用程序的 Gemfile
.
取 example.rb
并将其放入 /app/models/stack_exchange.rb
— 是的,文件名很重要 [0](这不是纯粹主义者放这个的地方,但对于初学者来说很好并且完全可以接受).也删除您用来测试它的底部代码。
在routes.rb
中添加这条路线:get '/test' => 'application#test'
在您的 application_controller.rb
中添加此方法:
def test
stack_client = StackExchange.new('Whosebug', 1)
@users = stack_client.users
end
在 app/views/application/test.html.erb
中输入以下内容:
<% @users.each do |user| %><%=user.inspect%><br/><br/><% end %>
注意:否则我会建议向 ApplicationController
添加视图,但因为我对您的应用程序一无所知,所以我会默认使用它。
点击 http://localhost:3000/test,您应该会看到预期的结果。
[0] Rails 在幕后做了很多 "magic" — 这真的不是魔法,而是元编程 — 它试图假设很多关于您的应用程序结构和命名约定的事情。如果您的 class 被命名为 Stackexchange
(注意小写 e
),stackexchange.rb
将自动 "mapped" 到 class Stackexchange
.更多信息:http://guides.rubyonrails.org/autoloading_and_reloading_constants.html