前提・実現したいこと
参考書にて簡単なQ&Aサイトを作成しています。
コードのエラーが表示されるのですが、修正方法が分からず困っています。
プログラミング初心者ですので至らぬ点が多くあると思いますがよろしくお願いします。
発生している問題・エラーメッセージ
SyntaxError in QuestionsController#index /home/ec2-user/environment/rails_projects/qanda/app/views/layouts/application.html.erb:16: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' ...er.append=( if flash[:notice] );@output_buffer.safe_append=' ... ^ /home/ec2-user/environment/rails_projects/qanda/app/views/layouts/application.html.erb:18: syntax error, unexpected keyword_end, expecting ')' '.freeze; end ^~~ /home/ec2-user/environment/rails_projects/qanda/app/views/layouts/application.html.erb:21: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' ...fer.append=( if flash[:alert] );@output_buffer.safe_append=' ... ^ /home/ec2-user/environment/rails_projects/qanda/app/views/layouts/application.html.erb:23: syntax error, unexpected keyword_end, expecting ')' '.freeze; end ^~~ /home/ec2-user/environment/rails_projects/qanda/app/views/layouts/application.html.erb:30: syntax error, unexpected keyword_ensure, expecting ')' ensure ^~~~~~ /home/ec2-user/environment/rails_projects/qanda/app/views/layouts/application.html.erb:32: syntax error, unexpected keyword_end, expecting ')' end ^~~
該当のソースコード
Ruby
1 <!--# 成功時メッセージを表示 --> 2 <%= if flash[:notice] %> 3 <p class="text-success"><% flash[:notice] %></p> 4 <% end %> 5 6 <!--# エラーメッセージを表示--> 7 <%= if flash[:alert] %> 8 <p class="text-danger"><% flash[:alert] %></p> 9 <% end %> 10 11 <%= yield %>
Ruby
1def create 2 @question = Question.new(question_params) 3 if @question.save 4 redirect_to root_path, notice: 'Success!' 5 else 6 flash[:alert] = 'Save error!' 7 render :new 8 end 9 end
試したこと
<% if flash[:notice] %> ではエラーが起きないのですが、この場合だとエラー文が表示されず本来表示されるはずの箇所が空く
だけになります。
syntax errorということなので構文エラーということは分かってはいるのですが、そこまでしかわかりませんでした。
補足情報(FW/ツールのバージョンなど)
Ruby 2.5.1
Ruby on Rails 5.2.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/16 10:20
2021/08/16 10:21
2021/08/16 10:25