"Missing Template" error after submitting a form

时间:2016-02-12 21:21:02

标签: ruby-on-rails

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:

module.exports = {
    doSomething: function () {
        // Your custom code here
    }
};

And in the routes.rb file I have:

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

The SolverController looks like this:

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

  post 'solver/solve'

  root 'welcome#index'

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

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

    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
    end
end

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

You must create the Series A(hidden ) : server.$server.app.$app.memory.used Series B(visible) : diffSeries(server.$server.app.$app.memory.committed), #A) file and write in this file your form.