$ rails g controller groups index
create app/controllers/groups_controller.rb
route get "groups/index"
invoke erb
create app/views/groups
create app/views/groups/index.html.erb
invoke test_unit
create test/functional/groups_controller_test.rb
invoke helper
create app/helpers/groups_helper.rb
invoke test_unit
create test/unit/helpers/groups_helper_test.rb
invoke assets
invoke coffee
create app/assets/javascripts/groups.js.coffee
invoke scss
create app/assets/stylesheets/groups.css.scss
続いてモデルも
create app/controllers/groups_controller.rb
route get "groups/index"
invoke erb
create app/views/groups
create app/views/groups/index.html.erb
invoke test_unit
create test/functional/groups_controller_test.rb
invoke helper
create app/helpers/groups_helper.rb
invoke test_unit
create test/unit/helpers/groups_helper_test.rb
invoke assets
invoke coffee
create app/assets/javascripts/groups.js.coffee
invoke scss
create app/assets/stylesheets/groups.css.scss
$ rails g model group
invoke active_record
create db/migrate/20120427055811_create_groups.rb
create app/models/group.rb
invoke test_unit
create test/unit/group_test.rb
create test/fixtures/groups.yml
マイグレーションを設定します。
invoke active_record
create db/migrate/20120427055811_create_groups.rb
create app/models/group.rb
invoke test_unit
create test/unit/group_test.rb
create test/fixtures/groups.yml
class CreateGroups < ActiveRecord::Migration
def change
create_table :groups do |t|
t.string :name
t.timestamps
end
end
end
おきまりの〜
def change
create_table :groups do |t|
t.string :name
t.timestamps
end
end
end
$ rake db:migrate
seeds/groups.rbを作成
#config: utf-8
group = Group.create!(
:name => "グループ1"
)
モデルを作成
group = Group.create!(
:name => "グループ1"
)
class Group < ActiveRecord::Base
validates :name, :presence => true
validates :name, :uniqueness => true
attr_accessible :name
end
リセットします。
validates :name, :presence => true
validates :name, :uniqueness => true
attr_accessible :name
end
$ rake db:reset
routes.rbを変更します。
resources :groups, :only => [:index]
api/groups_controller.rbを作成
class Api::GroupsController < ApplicationController
respond_to :xml, :json
def index
@groups = Group.order("created_at DESC")
respond_to do |format|
format.json { render:json => @groups.to_json }
format.xml do
render :xml => @groups.to_xml(
:only => [
:id, :name
],
:skip_types => true
)
end
end
end
end
Jsonをモデルに書きます。
respond_to :xml, :json
def index
@groups = Group.order("created_at DESC")
respond_to do |format|
format.json { render:json => @groups.to_json }
format.xml do
render :xml => @groups.to_xml(
:only => [
:id, :name
],
:skip_types => true
)
end
end
end
end
def as_json(options = {})
options[:indent] ||= 2
{
:id => self.id,
:name => self.name
}
end
これでモデルに分けて見えるようになりました。
options[:indent] ||= 2
{
:id => self.id,
:name => self.name
}
end
0 件のコメント:
コメントを投稿