質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

1回答

1435閲覧

Layout/MultilineMethodCallIndentation: Use 2 (not 4) spaces for indenting an expression in an assign

ma_engineer

総合スコア13

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2019/06/12 05:26

rubocopを実行すると下記のように1つ弾かれてしまうのですが、解説策はご存知でしょうか?

調べてみたのですが英文の記事が多くなかなか解決にありつけずもしご存知でしたらよろしくお願い致します。

$rubocop Inspecting 25 files .........C............... Offenses: app/controllers/potepan/products_controller.rb:nine:11: C: Layout/MultilineMethodCallIndentation: Use 2 (not 4) spaces for indenting an expression in an assignment spanning multiple lines. limit(MAX_DISPRAY_NUMBER_OF_RELATED_PRODUCTS) ^^^^^ 25 files inspected, 1 offense detected``` ```products_controller.rb class Potepan::ProductsController < ApplicationController MAX_DISPRAY_NUMBER_OF_RELATED_PRODUCTS = 4 def show @product = Spree::Product.find(params[:id]) @related_products = @product.related_products. includes(master: [:default_price, :images]). limit(MAX_DISPRAY_NUMBER_OF_RELATED_PRODUCTS) end end
products_controller.rb class Potepan::ProductsController < ApplicationController MAX_DISPRAY_NUMBER_OF_RELATED_PRODUCTS = 4 def show @product = Spree::Product.find(params[:id]) @related_products = @product.related_products. includes(master: [:default_price, :images]). limit(MAX_DISPRAY_NUMBER_OF_RELATED_PRODUCTS) end end
rubocop.yml inherit_from: - .rubocop_airbnb.yml LineLength: Enabled: false34 AllCops: Exclude: - 'db/**/*' - 'bin/*' - 'config/environments/*' - 'config/application.rb' - 'config/initializers/*' - 'config/spring.rb' - 'lib/tasks/*' - 'vendor/**/*' - 'path/ruby'

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

こちらの記事が一番参考になりましたので共有します。
https://rubocop.readthedocs.io/en/latest/cops_layout/#layoutmultilinemethodcallindentation
goodの部分を参考にされてください。

rubocopをカスタマイズしていた場合はちょっとどうなるかわかりませんが、

ruby

1products_controller.rb 2class Potepan::ProductsController < ApplicationController 3 MAX_DISPRAY_NUMBER_OF_RELATED_PRODUCTS = 4 4 5 def show 6 @product = Spree::Product.find(params[:id]) 7 @related_products = @product.related_products 8 .includes(master: [:default_price, :images]) 9 .limit(MAX_DISPRAY_NUMBER_OF_RELATED_PRODUCTS) 10 end 11end

これでrubocopさんも大人しくなるような気がします。

ちなみにLayout/MultilineMethodCallIndentationを直訳すると、
レイアウト/複数行メソッド呼び出しのインデント
になるので、まぁ何となく何を指摘されているのかが推測できるというものです。

※申し訳ありませんが、
Use 2 (not 4) spaces for indenting an expression in an assignment spanning multiple lines.
の意味は私も理解できませんでした。

投稿2019/07/18 12:58

siruku6

総合スコア1382

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問