我正尝试向围绕Getting Started 构建的Rails (版本5.0.1)应用程序添加一个API端点,但当我尝试创建一个控制器时,它最终创建了erb和其他我怀疑不需要的仅限API的控制器。
应该发出的正确命令是什么?
我尝试了带和不带--api选项的rails generate controller api index show new edit create update destroy。
我欢迎链接到好的指南;这是我的第一个Rails项目,我只找到了创建仅限API的应用程序或仅限web的应用程序的好指南,而没有找到如何将API端点添加到现有应用程序的好指南。
我正在尝试向我的rails应用程序添加登录-注销功能。为此,我添加了用于密码加密的bcrypt gem和访问控制器。现在,当我在本地运行它时,我收到一条错误消息。在添加上述功能之前,我的应用程序运行得很好。
错误消息:
TypeError: Object doesn't support this property or method
(in C:/DevKit/lib/ruby/gems/1.9.1/gems/turbolinks-2.5.3/lib/assets/javascripts/turbolinks.js.coffee)
Extracted source (around l
在之后,我在Rails上创建了现有博客web应用程序的API。我发现了一个错误:
未初始化常量API
这是我的密码:
lib/api/v1/articles.rb
module API
module V1
class Articles < Grape::API
version 'v1'
format :json
resource :articles do
desc "Return list of recent posts"
get do
Article.recent.all
end
end
我试图在Rails 3.2.3应用程序中设置一个子目录,以便在:http://example.com/api上为API请求提供服务
我创建了一个目录,如:app/controllers/api/
我遵循实现命名空间控制器的标准约定:
module Api
class GroupsController < ApplicationController
# RESTful verbs implemented here
end
end
我已经建立了这样一个命名空间的路径:
namespace :api, defaults: {format: 'json'} do
我正在开发一个Ruby,它将是一个REST包装器。
我想要做的是使用类似于Rails/ActiveRecord 'where‘方法的方法从gem中实例化一个类,这样我就可以在方法中传递类似SQL的语法,并返回一些JSON。类似于:
include 'my-gem'
test = MyGem::ClassExample.where('name like %test%')
# returns JSON object from REST API
我担心的是,如果我将这个宝石包含到Rails应用程序中,这个'where‘方法会与ActiveRecor
我们有一个版本化的API,它遵循Rails API版本控制的所有约定。i.e
module API::V4
class Test < ApiController
end
end
但是,是否有正确的方法来翻译助手呢?当前的helpers目录看起来如下所示:
app
|__helpers
|__helper_a.rb
|__helper_b.rb
所有的帮手都是定义的模块。
有办法这样做吗?
module Helpers::V2
class HelperA
end
end
我尝试创建一个目录app/helpers/v2/helper_a.rb,添加app/help
我正在研究在我的Ruby on Rails应用程序中构建平台API的最佳方法。我偶然发现了这个引用了的,这是一个为编写的示例应用程序。我查看了他们构建的应用程序接口,我注意到他们并没有在Ruby on Rails堆栈中使用"respond_to“或任何类型的JSON生成函数来支持他们的应用程序接口。他们实际上是在Ruby on Rails之外使用Sinatra构建自己的API。这是最佳实践吗?这本质上不需要维护两个代码库吗?也许我漏掉了什么环节?
作为后续问题,如果这是最佳实践,并且不需要开发人员维护两个代码库,那么在Rails控制器中使用Sinatra而不是"respond_
"PagesController#home缺少一个请求格式的模板: text/html“注意!除非另有说明,Rails希望一个动作呈现一个名称相同的模板,该模板包含在一个以控制器命名的文件夹中。如果此控制器是响应204 (无内容)的API (不需要模板),则在试图通过浏览器访问它时会出现此错误,因为我们期望为此类请求呈现HTML模板。如果是这样的话,继续。
但是,我有一个home.html.erb文件:
pages_controller.rb
class PagesController < ApplicationController
def home
end
我有一个Rails控制器,它将以XML格式输出散列-例如:
class MyController < ApplicationController
# GET /example.xml
def index
@output = {"a" => "b"}
respond_to do |format|
format.xml {render :xml => @output}
end
end
end
但是,Rails添加了一个我不想要的标记,即:
<hash>
<a&
我是rails web开发方面的新手。在创建新项目后,我正在使用linux mint 14进行rails web开发,现在我无法找到项目目录,也无法找到此问题的解决方案。我已经创建了一个新项目。
rails new ~/myblog -d mysql
我也试过这个
rails new myblog -d mysql
我现在的位置是/opt/lampp/htdocs
这是控制台its的输出,显示了每个成功创建的文件
create
create app/controllers
create app/helpers
create app/models
create a
我正在运行一个Rails 5.2.0应用程序。在重新启动或重新编译之后,此LoadError始终出现在第一次请求时: Unable to autoload constant Api::V1::ApplesController, expected /fruits_and_vegetables/app/controllers/api/v1/apples_controller.rb to define it 相关文件: routes.rb Rails.application.routes.draw do
namespace :api do
namespace :v1 do
我正在尝试创建一个基本的rails应用程序。我创建了一个apis控制器,如下所示
class ApisController < ApplicationController
def calendar
#code
render json: @response
end
end
我的路由文件看起来像这样
namespace :api, defaults: {format: 'json'} do
get 'calendar' => 'apis#calendar'
end
不幸的是,我得到了错误
我想为Android应用程序做一个API。在搜索时,我找到了。我正在跟踪,但在启动Rails服务器时遇到了问题:
=> Booting WEBrick
=> Rails 4.0.2 application starting in development on http://0.0.0.0:80
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/
我在使用时遇到了一个非常奇怪的问题。这个项目的结构不是最简单的,但仍然非常简单和干净,我在Rails应用程序中有一个app/api文件夹,其中的API类结构大致如下:
class Api < Grape::API
prefix 'api/v2'
...
mount V2::Controller::User
...
end
然后,我在app/api/v2/下有几个类,它们完成它们的工作,分为控制器、模型、服务、验证器等等,这些都是常见的东西。所有的东西都是按照Grape官方文档在config/application.rb中“挂载”的(我不重复了,唯一改变的是
我正在尝试使用rails generate命令生成注释控制器,但它给出了一个奇怪的错误:
$ rails generate controller comments
The name 'CommentsController' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again.
我已经检查过了,但我没有注释控制器。以下是我尝试过的命令:-
$ rails generate
当我在命令提示符中输入以下代码时: rails g model User 下面是我在控制台中得到的结果: YAML syntax error occurred while parsing
C:/Users/Vanessa/rails_space/config/database.yml. Please note that YAML
must be consistently indented using spaces. Tabs are not allowed. Error:
(<unknown>): did not find expected key wh
我的应用程序代码的结构如下Rails 3.2所示。如果我进入Rails控制台并输入Foo::Bar::FooBar,它将返回以下警告:
warning: toplevel constant FooBar referenced by Foo::Bar::FooBar
它们所在的应用程序代码和文件:
# app/models/foo/bar/foo_bar.rb
module Foo
class Bar
class FooBar
end
end
end
# app/models/foo/bar.rb
module Foo
class Bar
end
end
#