###前提・実現したいこと
form_withメソッドを使用して、指定したURL先にフォームに入力したデータを送信したいのですが、ActionView::SyntaxErrorInTemplateと表示され解決できません。
###発生している問題・エラーメッセージ
Encountered a syntax error while rendering template: check <% @title = "ログイン" %> <div id="login-form"> <h1><%= @title %></h1> <%= form_with model: @form, url::staff_session do |f| %> <div> <%= f.label :email, "メールアドレス" %> <%= f.text_field :email %> </div> <div> <%= f.label :password, "パスワード" %> <%= f.password_field :password %> </div> <div> <%= f.submit "ログイン" %> </div> <% end %> </div>
###該当のソースコード
apps/YZPotal/app/views/staff/sessions/new.html.erb
erb
1<% @title = "ログイン" %> 2 3<div id="login-form"> 4 <h1><%= @title %></h1> 5 6 <%= form_with model: @form, url::staff_session do |f| %> 7 <div> 8 <%= f.label :email, "メールアドレス" %> 9 <%= f.text_field :email %> 10 </div> 11 <div> 12 <%= f.label :password, "パスワード" %> 13 <%= f.password_field :password %> 14 </div> 15 <div> 16 <%= f.submit "ログイン" %> 17 </div> 18 <% end %> 19</div>
apps/YZPotal/app/controllers/staff/sessions_controller.rb
rb
1class Staff::SessionsController < Staff::Base 2 def new 3 if current_staff_member 4 redirect_to :staff_root 5 else 6 @form = Staff::LoginForm.new 7 render action: "new" 8 end 9 end 10end 11
apps/YZPotal/app/controllers/admin/base.rb
rb
1class Admin::Base < ApplicationController 2 private def current_admin_member 3 if session[:admin_member_id] 4 @current_admin_member ||= 5 AdminMember.find_by(id: session[:admin_member_id]) 6 end 7 end 8 9 helper_method:current_admin_member 10end
apps/YZPotal/app/forms/staff/login_form.rb
rb
1class Staff::LoginForm 2 include ActiveModel::Model 3 4 attr_accessor :email, :password 5end 6
apps/YZPotal/config/routes.rb
rb
1Rails.application.routes.draw do 2 namespace :staff do 3 root "top#index" 4 get "login" => "sessions#new", as: :login 5 post "session" => "sessions#create", as: :session 6 delete "session" => "sessions#destroy" 7 end 8 9 namespace :admin do 10 root "top#index" 11 get "login" => "sessions#new", as: :login 12 post "session" => "sessions#create", as: :session 13 delete "session" => "sessions#destroy" 14 end 15 16 namespace :customer do 17 root "top#index" 18 end 19end
###試したこと
new.html.erbの、
6行目 <%= form_with model: @form, url::staff_session do |f| %>
で、@formの変数の値もしくは、シンボルの指定が良くないのかと思い、見直しておりますが、間違いが分かりません。
お手数ですが、ご教示のほどよろしくお願い致します。
###追記
アプリケーションの再起動と、dockerコンテナの再起動を実施後、エラー文に変化なし
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/18 06:01 編集