Created
February 4, 2013 13:59
-
-
Save maechabin/4706883 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
新しいRailsプロジェクトを作る | |
$ rails new myapp | |
新しいGemをインストールする必要がない場合 | |
※rails new my app --skip-bundle | |
myappの中に移動 | |
$ cd myapp | |
サーバーを立ち上げる | |
$ rails server | |
=> Booting WEBrick | |
=> Rails 3.2.11 application starting in development on http://0.0.0.0:3000 | |
=> Call with -d to detach | |
=> Ctrl-C to shutdown server | |
[2013-02-04 20:30:10] INFO WEBrick 1.3.1 | |
[2013-02-04 20:30:10] INFO ruby 1.9.3 (2013-01-15) [x86_64-darwin12.2.1] | |
[2013-02-04 20:30:10] INFO WEBrick::HTTPServer#start: pid=66108 port=3000 | |
※WEBricというWebサーバー、ポート番号3000 | |
http://0.0.0.0:3000にアクセス | |
→Welcomeページが開けばOK | |
Control + CでWebサーバー停止、コマンドが入力できるようになる | |
scaffoldコマンド (Userに関するオブジェクトを作成) | |
$ rails generate scaffold User name:string intro:text | |
invoke active_record | |
create db/migrate/20130204113547_create_users.rb | |
create app/models/user.rb | |
invoke test_unit | |
create test/unit/user_test.rb | |
create test/fixtures/users.yml | |
invoke resource_route | |
route resources :users | |
invoke scaffold_controller | |
create app/controllers/users_controller.rb | |
invoke erb | |
create app/views/users | |
create app/views/users/index.html.erb | |
create app/views/users/edit.html.erb | |
create app/views/users/show.html.erb | |
create app/views/users/new.html.erb | |
create app/views/users/_form.html.erb | |
invoke test_unit | |
create test/functional/users_controller_test.rb | |
invoke helper | |
create app/helpers/users_helper.rb | |
invoke test_unit | |
create test/unit/helpers/users_helper_test.rb | |
invoke assets | |
invoke coffee | |
create app/assets/javascripts/users.js.coffee | |
invoke scss | |
create app/assets/stylesheets/users.css.scss | |
invoke scss | |
create app/assets/stylesheets/scaffolds.css.scss | |
→DB/migrate/20130204113547_create_users.rb マイグレーションファイル生成 | |
マイグレーションファイルをDBに反映 | |
$ rake db:migrate | |
== CreateUsers: migrating ==================================================== | |
-- create_table(:users) | |
-> 0.0013s | |
== CreateUsers: migrated (0.0014s) =========================================== | |
URLの確認 | |
$ rake routes | |
users GET /users(.:format) users#index | |
POST /users(.:format) users#create | |
new_user GET /users/new(.:format) users#new | |
edit_user GET /users/:id/edit(.:format) users#edit | |
user GET /users/:id(.:format) users#show | |
PUT /users/:id(.:format) users#update | |
DELETE /users/:id(.:format) users#destroy | |
===ブログプロジェクト=== | |
$ rails new blog | |
$ cd blog | |
JavaScript Runtime導入 | |
$ vim Gemfile | |
→therubyracerのコメントをはずす | |
$bundle install | |
DBを初期化 | |
$ rake db:create | |
サーバーを立ち上げて確認 | |
$ rails server | |
Modelを作成 (Postオブジェクト作成) | |
$rails generate model Post title:string content:text | |
※$ rails g model Post title:string content:text | |
※generateは"g"でOK | |
※オブジェクト名 Modelは単数形、最初の文字は大文字 Post | |
→models/post.rbが生成される | |
DBに反映させる | |
$rake db:migrate | |
$ rails g controller Posts | |
※オブジェクト名 controllerは複数形 Posts | |
→controllers/posts_controller.rbとviews/postsが生成される | |
ルーティング cofing/routes.rbを編集 | |
resources :postsと入力し、保存 | |
※ :posts←Rubyでいうシンボル | |
$rake routes | |
posts GET /posts(.:format) posts#index | |
POST /posts(.:format) posts#create | |
new_post GET /posts/new(.:format) posts#new | |
edit_post GET /posts/:id/edit(.:format) posts#edit | |
post GET /posts/:id(.:format) posts#show | |
PUT /posts/:id(.:format) posts#update | |
DELETE /posts/:id(.:format) posts#destroy | |
※posts#index → postsでアクセスされたら、postsコントローラーの中のindexメソッドを実行しなさい | |
posts#new → posts/newでアクセスされたら、postsコントローラーの中のnewメソッドを実行しなさい | |
===デバッグに使えるコンソールコマンド==== | |
Railsのコマンドをインタラクティブに試せる オブジェクトの動作確認など | |
$ rails console | |
<例> | |
$ p = Post.new(:title => 'my first post', :content => 'hello!') | |
$ p.save | |
$ exit | |
DBに接続して、中身をみたり、操作したり | |
$ rails dbconsole | |
※$ dbでもOK | |
<例> | |
$ db | |
$ .table | |
$ select * from posts; | |
$ .exit | |
===== | |
コントローラーにメソッドを作る | |
※ rake routexより | |
PostsController | |
--- index - 一覧 -> app/views/posts/index.html.erb(enbetted ruby:埋め込まれたRuby) | |
※メソッドに対応したファイル名にする | |
--- create | |
--- new | |
--- edit | |
--- show | |
--- update | |
--- destroy | |
●PostsContrlloerを編集 | |
class PostsController < ApplicationController | |
#メソッドを定義 | |
def index | |
@posts = Post.all | |
end | |
end | |
※post.all postのオブジェクトから全部引っ張ってこい | |
※@posts ← @のついた変数:インスタンス変数 viewの中から呼び出せる | |
●view/postsの中にindex.html.erbファイルを作成 | |
index.html.erbファイルを編集 | |
<h1>Posts</h1> | |
<ul> | |
<% @posts.each do |post| %> | |
<li><%= post.title %></li> | |
<% end %> | |
</ul> | |
※ viewで使える記法 | |
コントローラー内で定義された@変数はそのまま使えます | |
<% %>の中ではRubyの命令が使える | |
<%= %>は表示させる命令(自動的にEscapeされる) | |
<% # コメント %> | |
※リンクの表記 | |
<a href="/">home</a> | |
→<%= link_to 'home', '/' %> | |
<%= link_to 'アンカーテキスト', 'リンク先URL' %> | |
index.html.erbファイルを編集(リンクを追加) | |
<h1>Posts</h1> | |
<ul> | |
<% @posts.each do |post| %> | |
<li> | |
<%= link_to post.title, post_path(post) %> | |
<%= link_to 'edit', edit_post_path(post) %> | |
</li> | |
<% end %> | |
</ul> | |
<%= link_to 'home', posts_path %> | <%= link_to 'New', new_post_path %> | |
===大本のテンプレート=== | |
/views/application.html.erb | |
<%= yiels %>の中に埋め込まれる | |
※デザインを変更する場合、/assets/の中のCSSを変更する | |
==== | |
●画像を表示 | |
<%= image_tag 'logo.png', :size => '200x40' %> | |
※<%= image_tag '画像ファイル名', :size => '幅x高さ' %> | |
リンクを設定する場合 | |
<%= link_to image_tag('logo.png', :size => '200x40'), '/' %> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment