Tag: rails api

将rails_admin与rails_api一起使用

我最初在rails_api GitHub上发布了这个问题 ,但由于不活动,我现在将它发布在这里。 我正在尝试将rails_admin与Rails 5 API应用程序一起使用。 我添加了额外的ActionController模块,以至于我可以使用有效的rails_admin面板或工作API请求。 问题似乎是rails_admin依赖于ActionView::Layouts ,后面包含导致API请求的问题。 的Gemfile: gem ‘rails’, ‘>= 5.0.0.beta3’, ‘< 5.1' … gem 'rack-pjax', github: 'afcapel/rack-pjax' gem 'remotipart', github: 'mshibuya/remotipart' gem 'kaminari', github: 'amatsuda/kaminari', branch: '0-17-stable' gem 'rails_admin', github: 'sferik/rails_admin' 我将我的应用程序配置为使用ActionDispatch::Flash : module MyApp class Application < Rails::Application … config.middleware.use ActionDispatch::Flash end end 我为Rails API ,ApplicationController 配置了额外的模块 : class ApplicationController […]

嵌套路由和CRUD操作以及Rails中的附加值

我在rails api中通过关系创建了一个has_many。 我也使用嵌套路线。 我的模特如下; class Author :comments end class Post :comments end class Comment < ActiveRecord::Base belongs_to :author belongs_to :post end 我的路线如下; Rails.application.routes.draw do namespace :api, defaults: { :format => ‘json’ } do resources :posts do resources :comments end resources :authors end end 所以我的目标是 注释是嵌套路由,以便我可以创建和显示post的注释 这里没有任何post的作者。 作者是评论所有者 我实现了概念并且几乎都在工作。 但我面临以下两个协会问题 如何在父创建时为关联表添加其他字段。 这里我的要求是在创建post时,我需要插入一个默认条目进行评论。 我的post控制器实现如下所示 def create params […]

无法从Rails API获取JSON数据

我向http:// localhost:3000 / cars / 1发出get请求,但服务器不回复json数据。 就这样说 Started GET “/api/cars/1” for 127.0.0.1 at 2016-10-07 12:47:34 +0600 Processing by Api::V1::CarsController#show as HTML Parameters: {“id”=>”1”} User Load (0.5ms) SELECT “users”.* FROM “users” WHERE “users”.”uid” = $1 LIMIT $2 [[“uid”, “sahidul03@gmail.com”], [“LIMIT”, 1]] Car Load (0.6ms) SELECT “cars”.* FROM “cars” WHERE “cars”.”id” = $1 LIMIT $2 [[“id”, 1], […]

CarrierWave默认图像的完整url

我在rails-api应用程序上使用CarrierWave进行图像上传,而rails-api应用程序又被backbone.js客户端应用程序使用。 我注意到当没有可用的默认图像时,它会返回/assets/default.png 。 它反过来必须是http://dev-server:3000/assets/default.png 。 以下是我的配置设置: # config/environments/development.rb CarrierWave.configure do |config| config.asset_host = “http://dev-server:3000” end # Image Uploader …. def default_url “/assets/default.png” end 我哪里错了?

尽管路由已声明,但使用Rails 5(API标志)并且不会出现路由错误

这是我的控制器: class Api::V1::UsersController < ApplicationController respond_to :json def show respond_with User.find(params[:id]) end end 这是我的routes.rb require ‘api_constraints’ Rails.application.routes.draw do devise_for :users # Api definition namespace :api, defaults: { format: :json }, constraints: { subdomain: ‘api’ }, path: ‘/’ do scope module: :v1, constraints: ApiConstraints.new(version: 1, default: true) do resources :users, :only => [:show] end end end […]

Rails API + AngularJS + Websocket-Rails gem

我的服务器正在运行websocket-rails gem来处理websockets。 我在使用带有角度的phonegap项目的websocket-rails时遇到了麻烦,因为我需要在我的Angular前端初始化websocket-rails客户端,而不依赖于rails资产管道。 是否可以将websocket-rails客户端单独加载到角度项目中? 或者我可以使用角度套接字指令来管理带有websocket-rails的套接字?

如何将Rails 5 API应用程序转换为可以充当API和应用程序的rails应用程序?

我最初使用–api标签在rails 5中创建它。 来自http://edgeguides.rubyonrails.org/api_app.html , 我删除了config.api_only = true 我变了 class ApplicationController < ActionController::API end 至 class ApplicationController < ActionController::Base end 我现在遇到的问题是视图被渲染,例如。 welcome/index.html.erb ,相应的CSS文件assets/stylesheets/welcome.css.scss不是。 知道如何解决这个问题,或者更一般地将API应用程序转换为完整的应用程序? 谢谢!

Rails:将API请求限制为JSON格式

我想限制所有API控制器的请求被重定向到JSON路径。 我想使用重定向,因为URL也应根据响应而改变。 一种选择是使用before_filter将请求重定向到相同的操作但强制JSON格式。 这个例子还没有用! # base_controller.rb class Api::V1::BaseController < InheritedResources::Base before_filter :force_response_format respond_to :json def force_response_format redirect_to, params[:format] = :json end end 另一种选择是限制路线设置中的格式。 # routes.rb MyApp::Application.routes.draw do namespace :api, defaults: { format: ‘json’ } do namespace :v1 do resources :posts end end end 我希望所有请求最终都是JSON请求: http://localhost:3000/api/v1/posts http://localhost:3000/api/v1/posts.html http://localhost:3000/api/v1/posts.xml http://localhost:3000/api/v1/posts.json … 你会推荐哪种策略?

Rails:ActionDispatch :: Request.parameter_parsers用于multipart / form-data

在我的rails API中,我添加了一个初始化程序,它将JSON输入的键从snake-case更改为下划线分隔。 像这样: ActionDispatch::Request.parameter_parsers[:json] = -> (raw_post) { data = ActiveSupport::JSON.decode(raw_post) data = {:_json => data} unless data.is_a?(Hash) data.deep_transform_keys!(&:underscore) } 现在,某些API将使用标头传递: content-type: multipart/form-data而不是application/json 我想对这样的API做同样的事情。 那就是添加一个初始化器,它将转换参数中键的大小写。 我尝试了ActionDispatch::Request.parameter_parsers[:form_data]但它没有用。 我怎样才能做到这一点?

如何为活动模型序列化器关系选择所需的属性

我使用JSONAPI格式和Active Model Serializers来创建带有rails-api的api 。 我有一个序列化程序,它显示了一个具有许多topics的特定post ,目前,在关系下,列出了这些主题。 它目前只列出id和类型。 我也想展示这个主题的标题。 有些人会说在我的控制器中使用include: ‘topics’ ,但我不需要完整的主题记录,只需要它的标题。 问题 :如何指定要从主题中显示哪些属性? 是)我有的 “data”: { “id”: “26”, “type”: “posts”, “attributes”: { “title”: “Test Title 11” }, “relationships”: { “topics”: { “data”: [ { “id”: “1”, “type”: “topics” } ] } } } 我想要的是 “data”: { “id”: “26”, “type”: “posts”, “attributes”: { “title”: “Test Title […]