【Ruby on Rails】簡単なCRUDを書いてみる【学習記録2】

2013.10.17

前回に引き続き。今回は簡単なCRUDメインで。
(そして前回に引き続き「Scaffoldでやれば」って話だけど やっぱり便利なツール使う上で根幹の事はしっかり理解していたいので)

記事の新規登録

articlesコントローラのnewアクション、createアクションをいじる。

def new
  @article = Article.new
end

def create
  @article = Article.new(params[:article])
  if @article.save
    redirect_to @article, notice: "記事を登録しました。"
  else
    render "new"
  end
end

noticeに関してはapplication.html.erbで flash.notice を記述する。
続いてView部分。new.html.erb を用意し、以下のように記述。

<% @page_title = "記事の投稿" %>
<h2><%= @page_title %></h2>

<%= render "articles/form" %>

更新の際にもフォームを使い回せるようにフォーム入力部分のテンプレート _form.html.erb を用意し、レンダリング。_form.html.erbのコードは以下のように記述した。

<%= form_for @article do |form| %>
<table>
<tr>
<th><%= form.label :title %></th>
<td><%= form.text_field :title, size: 50 %></td>
</tr>
<tr>
<th><%= form.label :body %></th>
<td><%= form.text_area :body, rows: 15, cols: 50 %></td>
</tr>
<tr>
<th><%= form.label :expired_at %></th>
<td><%= form.date_select :expired_at, start_year: 1990, end_year: 2030, use_month_numbers: true %></td>
</tr>
</table>
<%= form.submit %>
<% end %>

各属性の名称は i18nあたりをbundle installして ja.ymlなど別ファイルに記述するような感じで良いかも。

(続きを読む…)

【Ruby on Rails】ルーティング、マイグレーション云々【学習記録1】

2013.10.15

最近ようやく少しずつRailsに乗りこなせるになってきたので、ちょっと整理がてらリソースベースのルーティングやらマイグレーションやらの整理をしてみる。

つくるもの

シードデータやらルーティングやらマイグレーションやらいじりつつブログ記事っぽい感じで DBからの簡単な読み出し。それだけ。「Scaffoldでやれば」って話だけど、根幹の仕組みは知っておきたいので。

データの用意

何はともあれmodelの作成。コンソール上で以下のコマンド。


rails g model article

マイグレーション用のスクリプトができたはずなので、db/migrate に移動し スクリプトを編集。


class CreateArticles &lt; ActiveRecord::Migration
  def change
    create_table :articles do |t|
      t.text :title
      t.text :body
      t.date :created_at
      t.date :expired_at
      t.boolean :is_public
      t.timestamps
    end
  end
end

マイグレーションの実行。
(続きを読む…)

文字をぷるぷるさせるjQueryプラグイン Rhythm.js

2013.9.21

jQueryのコードをいじっていた時にふと「そういえば文字がぷるぷるするサイトってあんまり無いよなー」と思った(最も、文字をぷるぷるさせた所で、サイトのユーザにとっては単なるストレスでしか無いけど)。

それにしてもそういうjQueryプラグインが一つぐらいあっても良さそうだなと思って調べたものの、それらしきものが見当たらなかった。文字に魅力的なエフェクトを加えたりするプラグインならあるんだけど、誰もぷるぷるさせようとは思わないみたいだ。

というわけで、せっかくの休日だし つくってみた。

 

Rhythm.js

Rhythm.js

 

使い方は簡単、以下ようにjQueryオブジェクトにメソッドを追加するだけ。

$( some_element ).rhythm();
$( some_element ).rhythm(200); // 200ms間隔でぷるぷるする。

地味にメソッドチェーンもできるようにしています。

$( some_element ).rhythm().html("Foo");

 

く、くだらん。。。(´・ω・`)

というわけで今回は「Rhythm.js」の紹介でした。良い休日を。