Try Rails4
-
Upload
mitsuyoshi-kawabata -
Category
Technology
-
view
1.753 -
download
2
Transcript of Try Rails4
株式会社アジャイルウェア代表取締役CEO 川端 光義
agilekawabata
Try Rails4.0
Ruby関西
$ \curl -L https://get.rvm.io | bash -s stable
Ruby InstallMacのターミナルを立ち上げ1. RVMのインストール
2. Rubyのインストール
$ rvm install 2.0.0$ rvm use 2.0.0 --default
$ rvm gemset create rtunes$ rvm gemset use rtunes$ gem i rails --no-ri --no-rdoc$ gem list
Rails Install
1. rTunesプロジェクト作成2. 楽曲を管理する3. ジャンル別に管理する4. 音楽を再生する
rTunes
$ rails new rtunes$ cd rtunes$ rails s
rTunesプロジェクト作成
http://localhost:3000/ブラウザで確認
楽曲を管理する
MusicのScaffold
名前の必須
日本語化
$ rails g scaffold music name:string artist:string$ rake db:migrate
validates :name, :presence => true
gem 'i18n_generators'$ bundle$ rails g i18n ja
>> Gemfile
>> 今 ja.ymlが取れない
$ wget https://raw.github.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml -P config/locales/
ジャンル別に管理する
GenreのScaffold
音楽にジャンルの追加
$ rails g scaffold genre name:string$ rake db:migrate
$ rails g migration add_genre_id_to_musics genre_id:integer$ rake db:migrate
belongs_to :genre >> music.rb
def music_params params.require(:music).permit(:name, :artist, :genre_id) end
>> musics_controller.rb
ジャンル別に管理する (2)
ジャンルのSelectBox
音楽リストにジャンルを表示
<div class="field"> <%= f.label :genre %><br> <%= f.select :genre_id, Genre.all.collect {|genre| [genre.name, genre.id]} %> </div>
<td><%= music.genre.name %></td>
ジャンル別に管理する (2)
ジャンルのSelectBox
音楽リストにジャンルを表示
<div class="field"> <%= f.label :genre %><br> <%= f.select :genre_id, Genre.all.collect {|genre| [genre.name, genre.id]} %> </div>
<td><%= music.genre.name %></td>
音楽を再生する音楽コントロール
routesに追加
<td><audio src="<%= data_music_path(music) %>" controls /></td>
resources :musics do member do get 'data' end end
def data @music = Music.find(params[:id]) send_data(Rails.root.join('public', @music.filename).read) end
音楽を再生する (2)音楽にファイル名の追加
ファイルアップロード
$ rails g migration add_filename_to_musics filename:string$ rake db:migrate
<%= form_for(@music, :html => {:multipart => true}) do |f| %>...... <div class="field"> <%= f.label :file %><br> <%= file_field_tag :file %> </div>
音楽を再生する (3)ファイルアップロード
def update file = params[:file] File.open(Rails.root.join('public', file.original_filename), 'wb') do |f| f.write(file.read) end @music.filename = file.original_filename ....
音楽リスト画面で再生!
Q&A Time