ruby on rails
他にもroute.rbでの試行錯誤メモ アクションの整理 ・必要なアクションだけを使えるようにする map.resources :hoges, :only => ['create','show'] #create,showだけ使える ・不要なアクションを指定し、それ以外を使えるようにする map.resources :hoges, :…
betweenでデータを取得するにはどうするのかな〜といろいろ探していたら、おもしろいものを発見。最近データベースからfindでデータを取得するとき @hoge = Hoge.find(:all, :conditions => ["id = ?", id]) このように:conditions,:orderなどを使って、様々…
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| …
送信した値をDBに格納する時に.saveが機能せず。 原因がわからずかなり迷走していたが、犯人はvalidationだった。 今回はmodelをscaffoldしたにもかかわらず、警告画面無しに規制をおこなっていた。 今回もこれに気づかず時間を取られてしまった。scaffoldし…
とりあえずscaffoldした場合、初期に用意された土台以外はアクセスできないように規制がかかっているから、新しく関数を定義する時はrouteで指定してあげなきゃダメよ。 というところまで理解できていたが、アクセスする関数のURLパターンを指定してあげるこ…
scaffoldで作成されたeditアクションにアクセスするためのデフォルト文が以下。 <%=link_to "Edit", edit_hogehoge_path(hoge) %> このページのリンク先のURLは hogehoge/hogeのid/edit となっている。 例えば他のページからリンクを取る時、id以外にも送り…
cell_textは最初に何か値を代入(=)して、後は追加( 今回はcell_text = date.mday.to_sで最初に日にちを代入して、あとはcell_textにリンク挿入という形でうまくいった。 <%= calendar(:year => @year,:month => @month, :abbrev => (0..-1)) do |date| cell_…
formで入力した値をDBへ入れるときはform_forを使うと便利!! <% form_for(@hoge) do |f| %> しかし使ってみたら見事失敗。リンクがうまく取れていないようだった。 以下のようにしたらうまくいった。 <% form_for :hoge, @hoge, :url => {:action => "create…
わかりやすい、見やすい、丁寧!http://maskana.homedns.org/rails/pro
railsの開発環境であるaptanaを入れてみた。日本語化する時、macでは少し気を付けなければいけない点がいくつか・Pleiadesを解凍して出てきた「features」「plugin」フォルダはそのままaptanaの方のフォルダに入れると、aptanaのフォルダが消された後に上書…
railsはデフォがsqliteで作成されるため、mysqlを使いたければプロジェクト作成時に rails -d mysql プロジェクト名 とする必要がある。またconfig/database.ymlにてdatabase名、user名、パスワードを設定する必要がある。
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-…