Closed RYUTAONO0929 closed 5 years ago
f
は form_with model: [:admin, @user], local: true do |f|
の |f|
ですねブロック変数というやつです
https://qiita.com/NA070/items/3bbef4015c4390182915
メソッドを呼び出すときにレシーバとして機能しています。
https://qiita.com/you8/items/e5f5c27cfed60a23fa75
slimのコードですがインデントおかしくないですか?書籍のものと異なるようですslimはコードブロックをインデントで管理しているのでインデントがずれるとスコープ外になりエラーになると思います:bow:
= form_with model: [:admin, @user], local: true do |f|
.form-group
= f.label :name, '名前'
= f.text_field :name, class: 'form-control'
.form-group
= f.label :email, 'メールアドレス'
= f.text_field :email, class: 'form-control'
.form-check
= f.label :admin, class: 'form-check-label' do
= f.check_box :admin, class: 'form-check-input'
| 管理者権限
.form-group
= f.label :password, 'パスワード'
= f.password_field :password, class: 'form-control'
.form-group
= f.label :password_confirmation, 'パスワード(確認)'
= f.password_field :password_confirmation, class: 'form-control'
= f.submit '登録する', class: 'btn btn-primary'
slimとは? https://qiita.com/mom0tomo/items/999f806d083569529f81
@RYUTAONO0929 確認お願いします:bow:
解決しました!! 同じミスをしないために、atomでインデントを表示できるパッケージをインストールしました。 回答ありがとうございました。
解決しました!! 同じミスをしないために、atomでインデントを表示できるパッケージをインストールしました。 回答ありがとうございました。
おお、良かったです!:smile: 再発防止策を実施することは重要なことなのでナイスですね:smile:
概要
現場Rails p157のように完成したユーザー登録画面を表示させようと
http://localhost:3000/admin/users/new
にアクセスしようとするのですがNameErrorが発生します。 エラー文によると、ローカル変数もしくはメソッドf ←(何の関数か分かりません)が定義されていないようです。 パーミッションは大丈夫そうなのでそのエラーではないと思います。
実現したいこと
このName Errorの意味を解読し、ログイン画面を表示させ、今後このようなエラーが発生した場合に対処できるようになりたいです。
困っていること
エラー文を解読出来ず困っています。 タイポではないと思います。
困っていることがバグの場合は事象やログ、エラーメッセージをできるだけそのまま(抜粋などしない)下記に記載してください。
エラー文です。
NameError in Admin::Users#new Showing /home/ryutaono/taskleaf/app/views/admin/users/new.html.slim where line #12 raised:
undefined local variable or method `f' for #<#:0x00007fffd0d69e58>
スクショです。
直前で操作したファイルです。 users_controller.rb
new.htm.slim
解決するために行ったこと
インデントの問題かと思いいくつかのインデントを修正しました。
問題となっている箇所の予想
method f なのか?という感じです。
問題となっているアプリケーションのGitHub URL