さーてJavaScript

最近このサイト楽しいです.

f:id:komase:20130917231541p:plain

CODEPREP

http://codeprep.jp/ja/books

htmlやcss,JavaScriptを打ち込みながら学べます.特にhtmlやcssはたまにちょこちょこって書かないといけない時に.あれ、「button」てどんなかんじだ?marginは?とかなるので、ゲーム感覚で覚えられるのが嬉しいです.

特にへっぽこの私はJavaScriptの描き方をちょっちゅう忘れるので、これで、再確認ですね.

JavaScriptの書き方

http://d.hatena.ne.jp/yutakikuchi/20120312/1331509053
このサイトで再確認.
そしてやるべきことは、ちゃんとJavaScriptを勉強すること.
そしてそろそろこれかな...いい加減勉強しないと...

Scaffoldでリレーション rails 

Scaffoldを利用して1対多関係テーブルの実装。

すごく参考になったのはこのサイト
http://rubyonrails.wiki.fc2.com/wiki/%E3%83%AA%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%95%E3%82%8C%E3%81%9F%E8%A1%A8%E5%8F%8A%E3%81%B3CRUD%E3%81%AE%E4%BD%9C%E6%88%90

「ある部屋にどのユーザがいるのか」という関係性。

まず

userテーブルを作成
rails g scaffold userkanri username:string mail:string

roomテーブルを作成
rails g scaffold room roomname:string user_id:integer

そして上記のurlの通りに

部屋はユーザを「複数所有する」ので
app/models/room.rb
を編集
has_many :users
を追加
*たくさん持つですよ
*複数形にする!!

次に、
ユーザはどの部屋に「属しているか」ということで
app/models/user.rb
を編集
belongs_to :room
を追加
*属す!!そのまま!!
*belongs_toの細かい説明はこちら
「参照元テーブルから参照先テーブルにアクセスする」
http://railsdoc.com/references/belongs_to

そして
app/controllers/rooms_controller.rb


@users = User.all
を追加。

また、hamlの場合は
index.html.hamlをこんな感じで編集。

%h1 Listing rooms
%table
%tr
%th Roomname
%th User
%th
%th
%th

- @rooms.each do |room|
%tr
%td= room.roomname
%td= room.user_id
%td= @users[room.user_id-1].username
%td= link_to 'Show', room
%td= link_to 'Edit', edit_room_path(room)
%td= link_to 'Destroy', room, :method => :delete, :data => { :confirm => 'Are you sure?' }

%br

= link_to 'New Room', new_room_path

そして、サーバを起動させて
http://localhost:3000/rooms
へgo!!

rvmでruby1.9.2のインストール mac os10.8.3

rubyの1.9.2にしたくて。rvmを利用してやろうとしたら、上手く出来なかった。

 

  rvm install 1.9.2

 

 ができない。

エラーがこんな

Installing required packages: libxml2, libxslt, libksba......................

Error running 'requirements_osx_port_libs_install libxml2 libxslt libksba',

please read /Users/●●●/.rvm/log/ruby-1.9.2-p320/1369980532_package_install_libxml2_libxslt_libksba.log

 

logを確認すると

 

Error: 

Error: No valid Xcode installation is properly selected.

Error: Please use xcode-select to select an Xcode installation:

Error:     sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer # version 4.6.1

Error: 

Warning: xcodebuild exists but failed to execute

Warning: Xcode does not appear to be installed; most ports will likely fail to build.

Warning: Xcode does not appear to be installed; most ports will likely fail to build.

--->  Computing dependencies for zlib

--->  Extracting zlib

Error: Couldn't determine your Xcode version (from '/usr/bin/xcodebuild -version').

Error: 

Error: If you have not installed Xcode, install it now; see:

Error: http://guide.macports.org/chunked/installing.xcode.html

Error: 

Error: org.macports.extract for port zlib returned: unable to find Xcode

Please see the log file for port zlib for details:

    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_archivers_zlib/zlib/main.log

Error: Unable to upgrade port: 1

Error: Unable to execute port: upgrade zlib failed

There were package installation errors, make sure to read the log.

 

意味プー。

 

xcodeが怪しいとのことで

ここを参考に

 

http://www.happytrap.jp/blogs/2012/03/30/8582/

xcodeのpathを変更。

すると、

できた。