我正在使用RABL构建一个Rails应用,该应用会在由Active Admin控制的数据上生成一个API。这是一个非常简单的API,并且我还没有很多数据,但是我对Angular.js和客户端应用程序比较陌生。使用rabl,我在2个对象上创建了一个API。到目前为止,这是我的代码;
project.rb
class Project < ActiveRecord::Base
has_attached_file :image, :styles => { :small => "100x100", :medium => "200x200", :large => "300x300" },
:url => "/system/members/:id/:style/:basename.:extension",
:path => ":rails_root/public/system/members/:id/:style/:basename.:extension"
validates_attachment :image, content_type: { content_type: ["image/jpg", "image/jpeg", "image/png"] }
end
projects_controller.rb
class ProjectsController < ApplicationController
def index
@projects = Project.all
respond_to do |format|
format.json { render }
end
end
结尾
views / projects / index.html.rabl
collection @projects
attributes :id, :title, :short_description, :long_description, :client, :image
member.rb
class Member < ActiveRecord::Base
has_one :image
has_attached_file :image, :styles => { :small => "100x100", :medium => "200x200", :large => "300x300" },
:url => "/system/members/:id/:style/:basename.:extension",
:path => ":rails_root/public/system/members/:id/:style/:basename.:extension"
validates_attachment :image, content_type: { content_type: ["image/jpg", "image/jpeg", "image/png"] }
end
Members_controller.rb
class MembersController < ApplicationController
def index
@members = Member.all
respond_to do |format|
format.json { render }
end
end
end
views / members / index.html.rabl
collection @members
attributes :id, :name, :title, :bio, :facebook, :twitter, :instagram, :linkedin, :dribbble, :image
角形
app / assets / javascripts / app.js
var app = angular.module("onyx", ["ngResource"]);
app.factory("Member", [ //member for the member object
"$resource", function($resource) {
return $resource("/member/:name", { //trying to just start by getting the name
name: "@name"
}, {
update: {
method: "GET"
}
});
}
]);
更新:由于这个出色的教程,我一切正常。
从那以后,我制作了一些带有角度和导轨的应用程序。制作完应用程序后,请对所有数据生成一个API。完成后,Angular将负责其余的工作。在我看来,使用gem并不是最好的方法,您可以通过CDN使用angular来利用rails资产管道,从而发挥自己的优势。
这两个教程是我发现的最佳资源,它们是如何学习如何使轨道和角度更好地协同工作的最佳资源:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句