ruby on rails

route.rbでscaffoldして作ったアクションを整理する

他にもroute.rbでの試行錯誤メモ アクションの整理 ・必要なアクションだけを使えるようにする map.resources :hoges, :only => ['create','show'] #create,showだけ使える ・不要なアクションを指定し、それ以外を使えるようにする map.resources :hoges, :…

SQL文の呼出とモデル

betweenでデータを取得するにはどうするのかな〜といろいろ探していたら、おもしろいものを発見。最近データベースからfindでデータを取得するとき @hoge = Hoge.find(:all, :conditions => ["id = ?", id]) このように:conditions,:orderなどを使って、様々…

calendar_helperにformを入れる。

calendar_helperの日付の中にformを入れる。 カレンダーのセル内にテキストを挿入したい場合、 cell_text << hoge といった具合にして使う。これがまた曲者で,form_forやform_tagが使えない。 cell_text << form_tag(~~~~) do とした場合、cell_text で"do"…

日付情報の扱い

rubyには日付のフォームでdate_selectという便利な機能があるのだが、現在作成中のプロジェクトの仕様的にはtext_field直打ちの方がよさそう。 以下の要領でdate型オブジェクトを作成。 view側 <% form_for :hoges, :url => {:action => 'hogehoge'} do |f| …

またvalidationにやられた

送信した値をDBに格納する時に.saveが機能せず。 原因がわからずかなり迷走していたが、犯人はvalidationだった。 今回はmodelをscaffoldしたにもかかわらず、警告画面無しに規制をおこなっていた。 今回もこれに気づかず時間を取られてしまった。scaffoldし…

新しい関数を作った時のルール

とりあえずscaffoldした場合、初期に用意された土台以外はアクセスできないように規制がかかっているから、新しく関数を定義する時はrouteで指定してあげなきゃダメよ。 というところまで理解できていたが、アクセスする関数のURLパターンを指定してあげるこ…

scaffoldした時のリンクの扱い

scaffoldで作成されたeditアクションにアクセスするためのデフォルト文が以下。 <%=link_to "Edit", edit_hogehoge_path(hoge) %> このページのリンク先のURLは hogehoge/hogeのid/edit となっている。 例えば他のページからリンクを取る時、id以外にも送り…

calendar_helperセルの中にリンクを入れてみる

cell_textは最初に何か値を代入(=)して、後は追加( 今回はcell_text = date.mday.to_sで最初に日にちを代入して、あとはcell_textにリンク挿入という形でうまくいった。 <%= calendar(:year => @year,:month => @month, :abbrev => (0..-1)) do |date| cell_…

scaffoldって意外と大事

formで入力した値をDBへ入れるときはform_forを使うと便利!! <% form_for(@hoge) do |f| %> しかし使ってみたら見事失敗。リンクがうまく取れていないようだった。 以下のようにしたらうまくいった。 <% form_for :hoge, @hoge, :url => {:action => "create…

おすすめのチュートリアルサイト

わかりやすい、見やすい、丁寧!http://maskana.homedns.org/rails/pro

aptana日本語化の注意点

railsの開発環境であるaptanaを入れてみた。日本語化する時、macでは少し気を付けなければいけない点がいくつか・Pleiadesを解凍して出てきた「features」「plugin」フォルダはそのままaptanaの方のフォルダに入れると、aptanaのフォルダが消された後に上書…

mysql使用の注意

railsはデフォがsqliteで作成されるため、mysqlを使いたければプロジェクト作成時に rails -d mysql プロジェクト名 とする必要がある。またconfig/database.ymlにてdatabase名、user名、パスワードを設定する必要がある。

mysqlドライバのインストールとrailsの追加

gemのインストールとドライバのインストールはこの方法がベスト $ sudo port install rb-rubygems $ sudo gem install mysql -- --with-mysql-config=/opt/local/lib/mysql5/bin/mysql_config Rails(Gem)のインストール $ sudo gem install rails --include-…