ムカデノワラジ

ムカデノワラジ

ガジェット・Webサービス・プログラミング・エンタメについて書く雑記ブログ

MENU

Railsプロジェクト開発中に調べたことまとめ

 

データベースまわり
カラムを追加する

rails generate migration <class_name>

 

add_column :hoges,:column_name,:data_type

 

デフォルト値の追加

change_column_default :hoges, :column_name,<default_value>

 

deviseのカラム追加

rails generate migration add_column_to_hoges <column_name_1> <column_name_2>  ... <column_name_n>

def change

  add_column :hoges, :column_name, :data_type,[default: default_value]

end

 

 

application_controller.rb

before_action :configure_permitted_parameters, if: :devise_controller?

protected

 def configure_permitted_parameters

   devise_parameter_sanitizer.permit(:sign_up,key:[:hoge,:fuga,...]) 

end

 

devise で メール認証

model_name.rbに:confirmableを追加

devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :confirmable <ーココ!!

migrationファイルを作成する

rails g migration validate_confirmation_to_modelname

中身は最初のmigration ファイルをコピーアンド必要な部分だけコメントアウト

解除

 

 

 

change_column で 型を integer や boolean に変更すると失敗する問題の解決方法

-change_column :table_name, :column_name, :integer
+change_column :table_name, :column_name, 'integer USING CAST(column_name AS integer)'

 

コントローラまわり

[rails]特定のcontrollerではbefore_actionをskipしたい

class ApplicationController < ActionController::Base
before_action :<method_name>, :<another_action_name>, if: :<method_name which returns boolean>

private

def <method_name>
# do something
end

def <method_name which returns boolean>

  return boolean

end

 

render hogeの使い方

render <action>: :<action_name> # option [, layout: :<layout_name>]

 

render template: "controller/method"

 

render json: <json_object>

 

render plain: "hoge"    #旧render text: "hoge

 

render xml: <xml_object>

 

詳細  よく忘れるRailsのコントローラーでのrenderメソッドのレシピ集 - Rails Webook

Viewまわり

Bootstrap 4以外のCSSフレームワーク

Bulma

無料・オープンソースで使えるシンプルなCSSフレームワーク

JS依存がないのでかなり軽量。モジュール単位でインポートできるのでさらに軽量化が可能。

当然のことながらレスポンシブに対応している。

Bulma: Free, open source, & modern CSS framework based on Flexbox

gem 'bulma-rails','~>0.7.4'

bundle install --path vendor/bundle

 

application.css.scss

@import 'bulma';

 

RailsJqueryを導入する

 

gem 'jquery-rails'

bundle install --path vendor/bundle 

application.js

//=require jquery

//= require jquery_ujs

applicaion.html.haml

= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'

 

Vieewでテキストの改行を反映する

=simple_format(text)

=simple_format(h(text))

Railshamlを導入する

gem haml-railsをつかう

あわせて読みたい

particles.jsをrailsで使用する方法 - ムカデノワラジ

Bulma・bootstrap以外のシンプルなCSSフレームワークまとめ - ムカデノワラジ