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

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

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

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

Ruby on Rails

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

Slim

SlimはPHPアプリケーションを開発するための軽量なマイクロフレームワークです。

Q&A

解決済

1回答

6177閲覧

【Rails】Atomとslim。時々MalformedError。

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

Ruby on Rails

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

Slim

SlimはPHPアプリケーションを開発するための軽量なマイクロフレームワークです。

1グッド

0クリップ

投稿2017/07/10 01:18

文法も構造もミスではないとは思うのですが...

Rails slimテンプレートで開発をしていて何気なく思うことがあります。
例えば、正常に動くViewがあるとします。

= form_for @user ,url: [:user,:mypage] do |f| .form-group.row .col-lg-4 = f.label :icon ,class:'col-form-label' ← ★ .col-lg-8 = f.file_field :icon ← ★ ...以下略

atomではctrl+⌘+⇅で上下行の入替えが可能なので、
入れ替えて自分なりの段の整形をします。 (★の部分です)

.form-group.row .col-lg-8 = f.file_field :icon ← ★ .col-lg-4 = f.label :icon ,class:'col-form-label' ← ★

そうすると、エラーに。

Malformed indentatio ~/***.html.slim,Line 11,Column 8 .col-lg-8 = f.file_field :icon^

質問まとめ

slimを編集していると、
見た目は同じでもMalformed indentation等のエラーが、
個人的にはよく起きる気がします。コピーandペーストでもよく起きる気が...。
これは見えない空白やタブなどが原因なのでしょうか。

エディタの相性、Atomの設定でなんとかなるものでしょうか。
(解決策がなかったとしても、しっかり付き合ってくつもりです)

...宜しくお願いします。

退会済みユーザー👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

【Rails】Atomとslim。時々MalformedError。

ラノベのタイトルっぽいですね。

https://github.com/slim-template/slim/issues/153

スペースでなくタブが使われているとそうなる事もあると開発の issue に書かれています。で、実際にどの様な場合に Malformed Indentation が発生するかというと、ソースコードのコメントに以下の様に書かれています。

https://github.com/slim-template/slim/blob/53723a3b7cabb0cdf0d6d2215c361e21d6fb3cb4/lib/slim/parser.rb#L189

# This line's indentation happens lie "between" two other line's # indentation: # # hello # world # this # <- This should not be possible!

またその上の行で

https://github.com/slim-template/slim/blob/53723a3b7cabb0cdf0d6d2215c361e21d6fb3cb4/lib/slim/parser.rb#L164

と書かれており、インデント幅(これはタブも1、スペースも1と数えた場合)が逆転した場合にこのエラーが発生します。

投稿2017/07/10 01:28

mattn

総合スコア5030

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

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

退会済みユーザー

退会済みユーザー

2017/07/11 03:11

なるほど!!ありがとうございます。今までエラーになっていた理由が少しずつ分かってきました。 mattsさんに掲載していただいた資料を引き続き読み込み、少しずつ慣れていこうと思います!! p.s.タイトルを褒めて (?)いただきありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問