加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – APIPIE用于简单的Rails应用程序

发布时间:2020-12-17 02:07:20 所属栏目:百科 来源:网络整理
导读:我有一个rails应用程序(不是rails-api) class ApplicationController ActionController::Base 并不是 class ApplicationController ActionController::API 我想要这个应用程序的HTML文档.我为此目的使用apipie但是我得到了 Oops!! Method code/code not foun
我有一个rails应用程序(不是rails-api)

class ApplicationController < ActionController::Base

并不是

class ApplicationController < ActionController::API

我想要这个应用程序的HTML文档.我为此目的使用apipie但是我得到了

Oops!! Method <code></code> not found for resource <code></code>

控制器位于app / controllers /,配置对我来说似乎很好.

我假设rails应用程序也可以被视为API.控制器正在呈现json,这应该足以将应用程序视为Web应用程序和API吗?我是否需要为API目的编写单独的rails-api应用程序?帮助我理解两者之间的区别,以防我错过了一些观点.

解决方法

首先让我告诉你关于API的网络应用和应用.您可以在一个应用程序中保留两者.您需要使用render作为:json for API并渲染为web应用程序的html.两个应用程序之间存在差异.虽然您可以将两个操作放在一个应用程序中,但您需要小心渲染/重定向.

对于此错误:

Oops!! Method not found for resource

您需要在/config/initializers/apipie.rb中更改配置

Apipie.configure do |config|
  config.app_name                = "AppDepot"
  # set api base url here
  config.api_base_url            = "/api/v1"
  # set url here for open docs related to apidoc
  config.doc_base_url            = "/apidocs"
  # set true/false for default validation
  config.validate                = false
  # set copyright here
  config.copyright               = "&copy; 2014 sachin"
  config.validate_value          = false

  # where is your API defined?
  config.api_controllers_matcher = "#{Rails.root}/app/controllers/api/v1/*.rb"
  config.default_version = "1.0"
  config.app_info = "Tell about your application"

  # set username and password for access api
  config.authenticate = Proc.new do
    authenticate_or_request_with_http_basic do |username,password|
      username == "admin@example.com" && password == "password"
    end
  end
end

然后重新启动Web服务器以获取更改.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读