ramkaの朝ごはんはピーナッツパン

超個人的備忘録です。基本自分のためなので、内容の不備、読みづらさ、つまらなさはご了承ください。

link_toでどこかのページにジャンプする

Railsではa hrefは使わないのかな
ヘルパーを使うのが一般的なのかな

忘れない為にもlink_toでどこかのページにジャンプルする方法をメモる

<%= link_to 'Add', 'hoge/add', class: "btn btn-mini btn-danger" %>

今ルートパス「/」にいる前提で、相対パスで指定している

クラスにbootstrapを指定

詳しくは以下を参照

http://railsdoc.com/references/link_to

パラメータの渡し方いろいろ

偉大なる先人に学ぶ毎日

メモということで記録

モデルを検索する

データベース
は検索ができないと意味がありません

検索はデータベースの醍醐味という感じでしょうか

はい

偉大なる先人のページです

たとえば、nameというカラムがあるモデルがあって、
そのモデルで作った(マイグレーション)データベースからnameカラムにhogeという値が入っているレコードを欲しい場合は

@user = User.where(name: 'hoge')

こうすると、userにnameカラムがhogeなコレクション(配列みたいなやつ)が代入されます

それをeachメソッドで表示するなどできる

便利だなデータベース

一つのViewに複数のボタンを配置する

慣れている人には当たり前のことだと思うが、
全然なんれていないので、備忘録として記録

ボタンを設置するには

<button_to 

を設置するが、複数設置する場合にはnameオプションを指定して、
コントローラーで分岐させる(今のところはこんなやりかた

bootstrapを適用してい場合だとこんな感じ

<%= button_to 'Button1', {controller: 'User', action: 'add'}, {name: 'but1', class: "btn btn-default"} %>
<%= button_to 'Button2', {controller: 'User', action: 'add'}, {name: 'but2', class: "btn btn-default"} %>

参考にさせていただいたページです

こうなると、ルートも通して置かないとエラーなるので注意

ビューにボタンが二つ表示されれば良しとする(とりあえず初心者なので

コントローラー側で、nameを見て分岐するようにする

    if params[:but1]
      (ボタン1の処理をここに書こう)

    elsif params[:but2]
      (ボタン2の処理をここに書こう)

    else
      (その他の処理をここに書こう)

    end

で、とりあえず複数のボタンを配置しても処理を分岐できるようになる

本日も先輩の方々に感謝

ありがとうございます

DBからすべてのレコードを削除する

はい

DBに追加したレコードを一発で削除するメソッドです

その他にもいろいろなメソッドを紹介されていました

改めて先輩方に拍手を

クラスメソッドで用意されており、

User.delete_all

でレコードを全て削除できます

画像などをブルブル震わせる

マウスオーバーすると画像がブルブルガタガタ震えるようにします
以下のページを参考にプラグインをダウンロードする

/app/assets/javascripts
に保存する

実際に動かすJavaScriptを書く必要があるが、ビューファイルに書くとごちゃごちゃしちゃう
ということで、プラグインと同じパスに.jsファイルを作り、その中にコードを記載
/app/assets/javascripts/user.js

$(function() {
    $('.rumbleimg').jrumble({
        x: 2,
        y: 2,
        rotation: 1
    });

    $('.rumbleimg').hover(function() {
        $(this).trigger('startRumble');
    }, function() {
        $(this).trigger('stopRumble');
    });
});

画像を表示したら、classにrumbleimageを指定してあげると震え出します

面白いですね

Bootstrapで配置したボタンからアクションを起こす

とりあえずコントローラーと、フォームのボタンから実行されるアクションをつくる

rails g contoroller (コントローラー) (アクション)

ってやつね

こうするとビューもできるので、そこにフォーム&ボタンを置く

作成されたビューに、Bootstrapの書き方にならってフォームを作成

ここを見てフォームを置く

ここのフォームタグを変更

<form>

<form method="post">

に変更

ルートを設定

  post '(コントローラー名)/(アクション名)' => '(コントローラー名)#(アクション名)'

左辺はボタンがあるビューのパスで、右辺はPOSTされたときのアクション

こうするとアクションが実行されるはず