Ruby関連のことを調べてみた2021年08月25日

Ruby関連のことを調べてみた2021年08月25日

JavaScriptの非同期通信でCSRFトークンの検証を回避する

#開発環境
– OS:macOS Big Sur 11.2.2
– Ruby:2.6.5
– Ruby on Rails:6.0.0
– テキストエディタ:Visual Studio Code

#課題
twitterのいいねボタンを押下したときのように、非同期通信でDB更新しつつWebページの見た目を変えたかった。
今回はXHRオブジェクトを作って実装。

“`clip.js
~
XHR.open(‘POST’, URL, true);
XHR.send();
“`

このリクエストが422エラーになる。もう少し詳細を追ってみると、
「ActionController::InvalidAuthenticityToken」
というエラーだった。

# CSRFとrailsのCSRF対策について
**CSRF=クロスサイトリクエストフォージェリ**とは脆弱性のあるWebアプリケーションに対し悪意のあるリクエストを送り攻撃すること。

railsではCSRF対策メソッドとして[protect_from_forgery](https://github.com/rails/rails/bl

元記事を表示

WSL環境下でRailsを動かしたときの小ネタ

# 初めに
WSL1環境下で、Railsを動かしたときにちょっと引っかかった小ネタを紹介します。

# 環境設定
– OS: Windows10 Pro 64bit
– Version: 1909
– OS build: 18363.1256
– WLS
– Ubuntu 20.04
– Ruby 2.7.2
– Rails 6.0.3.3

# BCrypt::Errors::InvalidHash: invalid hash
[devise](https://github.com/heartcombo/devise)を利用しており、またMacからWindows環境へ乗り換えたときに発生する可能性が高いのがこのエラーです。
[Rails: BCrypt::Errors::InvalidHash (invalid hash) Devise 1.5.4 Rails 2.2.5](https://stackoverflow.com/questions/46010754/rails-bcrypterrorsinvalidhash-invalid-hash-devise

元記事を表示

【Ruby on Rails】SNSシェアボタンを実装する方法

#対象者

* SNSシェアボタンを実装予定の方

#目的

* SNSシェアボタンを実装して共有できるように設定する

#実際の手順と実例
###1.前提

Articleモデル使用しています。

###2.’social-share-button’を導入

“`Gemfile
gem ‘social-share-button’
“`

導入後、**bundle install**を実行

その後、configにsocial_share_btn.rbファイルを作成します。

“`terminal
rails g sosial_share_button:install
“`
これを実行することで、表示したいSNSボタンを設定する事ができます。

““config/initialize/sosial_share_button.rb
SocialShareButton.configure do |config|
config.allow_sites = %w(twitter facebook)
end
““
()内に自分の入れたいアプリを入力していく
今回はTwi

元記事を表示

#1 RailsとVue.jsでモーダルウィンドウを実装

せっかくdrinks/show.html.erbをapp.vueに記述しなおしたので、
モーダルウィンドウ的なものを実装したい。
つまり、投稿一覧から投稿を押すと、そのままapp.vueが画面遷移なしに表示されるとか
をやってみたい。
だけど、投稿一覧はerbで実装されてるので、そこからvueコンポーネントを表示できるのか。。。

https://qiita.com/t1gert1ger/items/b048a5fd81dc5a8fbfc8
自分がやりたいような記事はあった。

いや、てかやったことあったな。

**application.html.erb**

“`erb
<%= javascript_pack_tag 'footer' %>
“`

“`footer.vue