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

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

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

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

Q&A

解決済

1回答

9971閲覧

Lintの構文エラーの解決方法が分からない!(Rubocop)

kuraudo

総合スコア137

Ruby

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

0グッド

0クリップ

投稿2018/02/18 07:24

編集2018/02/18 13:59

背景

Rspecの技術を身につけようと「RspecによるRailsテスト入門」を勉強していました。
そこで、標準のジェネレータを使ってモデルやコントローラー、scaffold を追加する際に、スペックファイルも一緒に作ってもらうよう Rails を設定していました。
しかし、本書が少し古かったのでコードには構文エラーが出てしまうコードがありました。
それが以下の部分です。

コード部(config/application.rb)

require_relative 'boot' require 'rails/all' Bundler.require(*Rails.groups) module RspecApp class Application < Rails::Application config.load_defaults 5.1 ---ここから--- config.generators do |g| g.test_framework :rspec, fixtures: true, view_specs: false, helper_specs: false, routing_specs: false, controller_specs: true, request_specs: false .fixture_replacement :factory_girl, dir: "spec/factories" end ---ここまで--- end end

※使ってるRuby/Railsのバージョン

$rails -v Rails 5.1.4 $ruby -v ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin16]

エラー内容

:rspec,tureとfalse部分に以下のエラーが出てしまっています。

Lint/Syntax: unexpected token tSYMBOL (Using Ruby 2.1 parser; configure using `TargetRubyVersion` parameter, under `AllCops`) (error:Lint/Syntax)

考察

rubyのバージョン違いによるエラーなのだろうと検討がついたのですが、正しい書き方が思い当たりませんでした。
ご教示お願い致します(´;ω;`)

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

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

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

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

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

guest

回答1

0

ベストアンサー

Lint/Syntax: unexpected token tSYMBOL
は静的解析ツールRubocopの出力するエラーだと推測します。

.rubocop.ymlもしくは.ruby-versionを編集して今使っているRubyのバージョンをRubocopに教えてやれば上手くいくかと思います。

.ruby-versionの場合は

2.3.1

.rubocop.ymlの場合は

yaml

1AllCops: 2 TargetRubyVersion: 2.3

投稿2018/02/18 10:04

asm

総合スコア15147

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

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

kuraudo

2018/02/18 14:00 編集

ご回答ありがとうございます!! Rubocopの事だと明言し忘れていたのにも関わらず、その点をご指摘頂き本当に感銘を受けました。 (そして後にタイトルを少し編集) えっと、実際にはちょっと自分の確認不足で `config.generators do |g|` この部分が `config.generatorsdo|g|` このように繋がってしまっていました。 そのために予期せぬエラーが発生していました。 ※そこを直しただけでエラー文がLayout/AlignParametersの警告文に変わりました。 結局いくつか回避方法が見つかったので(正しいか不安な部分がありますが)共有致します。 1. asmさんのおっしゃる方法 2. 書式を変えて以下の記事の没頭のような書き方にする↓ https://qiita.com/yuutetu/items/135b1c8ab512208aebfe いつも助けて頂きありがとうございます????
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問