Ich habe ein Front-End-Projekt in die Rails-Umgebung konvertiert, und ich habe Material Design Lite verwendet, um die Formularfelder zu entwerfen. Ich erhalte die folgende Fehlermeldung:Schienen - NoMethodError in Home # neu
NoMethodError Startseite # new - nicht definierte Methode `homes_path‘
Kann mir jemand helfen, den Fehler zu beheben?
routes.rb:
Rails.application.routes.draw do
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
get '/home', to: 'home#index'
get '/home/new', to: 'home#new'
get 'home/:id', to: 'home#show'
end
new.html.erb:
<div class="container-div">
<!-- Colored FAB button with ripple -->
<button id="fab" class="mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect mdl-button--colored">
<i class="material-icons">add</i>
</button>
<div class="demo-card-wide mdl-card mdl-shadow--2dp">
<div class="mdl-card__title" id="text-div">
<h2 id="title-text" class="mdl-card__title-text">CAMPAIGN</h2>
<br>
<br>
<span id="success">Success!</span>
</div>
<div class="mdl-card__supporting-text">
<%= form_for(@home) do |f| %>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<%= f.text_field_tag :campaign_name,nil,:class => "mdl-textfield__input"%>
<label class="mdl-textfield__label" for="campaign_name">Campaign Name</label>
</div>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<%= f.text_field_tag :phone_number_receiver,nil,:class => "mdl-textfield__input",:type => "number" %>
<label class="mdl-textfield__label" for="phone_number_receiver">Phone Number for recipient</label>
<span class="mdl-textfield__error">Input is not a number!</span>
</div>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<%= f.text_field_tag :start_date,nil,:class => "mdl-textfield__input"%>
<label class="mdl-textfield__label" for="start_date" id="start-date-label">Enter start date</label>
</div>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<%= f.text_field_tag :end_date,nil,:class => "mdl-textfield__input"%>
<label class="mdl-textfield__label" for="end_date" id="end-date-label">Enter end date</label>
</div>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<%= f.text_field_tag :start_time,nil,:class => "mdl-textfield__input"%>
<label class="mdl-textfield__label" for="start_time" id="start-time-label">Enter time</label>
</div>
<div class="mdl-textfield mdl-js-textfield less-margin mdl-textfield--floating-label">
<%= f.text_area_tag :sms_msg, nil,:class => "mdl-textfield__input", :rows => 8, :cols => 40 %>
<label class="mdl-textfield__label" for="sms_msg">Text Message</label>
</div>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<%= text_field_tag :break_msg,"1",:class => "mdl-textfield__input"%>
<label class="mdl-textfield__label" for="break_msg">Number of Pages</label>
</div>
<%end%>
</div>
</div>
</div>
home_controller.rb:
class HomeController < ApplicationController
def index
@campaigns = Home.all
end
def new
@home = Home.new
end
def show
@campaign = Home.find(params[:id])
end
end
PS: Das Formularfeld für: break_msg ist kein Teil des Modells Startseite.
Link zu GitHub: https://github.com/rimildeyjsr/sms-scheduler
AFAICT gibt es keinen 'homes_path', nur einen' home_path', nein? Führen Sie einfach "Rake-Routen" aus. –
Nein, es gibt keinen homes_path. Ich habe den Befehl ausgeführt, es gibt keinen solchen Pfad –