"Missing Template" error after submitting a form


I'm trying to create a very simple application that determines whether two words are anagrams, but I'm having a lot of trouble doing it on RoR. I'm currently stuck on this "Missing template" error. I have the following form, which is just two text fields for the words and two labels and a submit button:

<%= form_for :solver, url: solver_solve_path do |f| %>
    <%= f.label "First word or sentence" %><br>
    <%= f.text_field :first %><br>
    <%= f.label "Second word or sentence" %><br>
    <%= f.text_field :second %><br>
    <%= f.submit %>

And in the routes.rb file I have:

Rails.application.routes.draw do
  get 'welcome/index'

  post 'solver/solve'

  root 'welcome#index'

The SolverController looks like this:

class SolverController < ApplicationController
    def create
        render plain: params[:solver].inspect

    def solve
        wordone = params[:solver][:first]
        wordtwo = params[:solver][:second]
        wordone.chars.sort { |a, b| a.casecmp(b) } .join
        puts wordone
        wordtwo.chars.sort { |a, b| a.casecmp(b) } .join
        puts wordtwo

However when I fill in the form and press submit I get a missing template error:

Missing template solver/solve, application/solve with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in: * "/home/mariana/Documents/RD-anagram/anagram/app/views"

Can anyone explain to me what's happening and what I can do to fix this?

Michael Cruz

As this is a post method, the controller action should redirect to another action conventionally. Otherwise, it will look for a view in app/views/solver/solve.html.erb. If you have such a view, it will render it, otherwise, it will yell at you for not telling it what to render.

Collected from the Internet

Please contact javaer1[email protected] to delete if infringement.

edited at


Login to comment