仍然在学习RoR,有时我会看到在具有require 'my_library'
的普通Ruby中使用库的示例。
当我们使用Ruby on Rails时,我们能够require
吗?或者所有内容都必须包含在gemfile中(我猜两者都安装并需要库)。
特别是我正在尝试调用API:
class MyModel < ActiveRecord::Base
has_many :other_models
def get_score
require 'rest_client'
response = RestClient.post 'https://sender.blockspring.com/api/blocks/da289f59df228ac4e89cebdfc9aa41fd?api_key=fe5cf0d86af27c086ab5cd4d0eab6641', { items_as_json_string: '[{"time_since_post_in_hours": 5, "upvote_count": 22}, {"time_since_post_in_hours": 3, "upvote_count": 502}]' }
end
end
答案 0 :(得分:1)
require
是 Ruby 的一部分,并非 Rails 所独有。您可以在 Rails 中require
填充内容,通常在类的顶部完成,而不是在方法内部。 require
只是运行该文件以确保加载您尝试使用的功能。
答案 1 :(得分:1)
你绝对可以要求东西,但是你通常不需要在Gemfile中声明它们。您需要is if you told it so的一个特殊情况,例如(在Gemfile
中):
gem 'something_very_specific', require: false
现在,您需要在想要使用它的“非常具体”的地方使用它。