Je suis absolument et totalement nouveau aux rails, donc la réponse est probablement très simple. Ici va:Rails erreur "NoMethodError" - Ma première application ruby
Ma page est la génération de cette erreur
NoMethodError in Tasks#new Showing app/views/tasks/new.erb where line #3 raised: undefined method `tasks_path' for #
Voici la vue:
<% form_for(@task) do |f| %>
<%= f.error_messages %>
<%= f.label :description %>:
<%= f.text_field :description %><br />
<%= f.label :priority %>:
<%= collection_select(:news, :priority_id, Priority.find(:all), :id, :description) %><br />
<%= f.submit "Add Task" %>
<% end %>
Le contrôleur:
class TasksController < ApplicationController
def index
@all_tasks = Task.find(:all, :order => :id)
end
def new
@task = Task.new
end ...(more)
et le modèle:
Je ne peux pas voir un problème, bu Comme je l'ai dit, je suis complètement désemparé. Merci!
class Task < ActiveRecord::Base
validates_presence_of :description
belongs_to :priority
has_and_belongs_to_many :staff
has_and_belongs_to_many :catagory
end
Oh, vous avez raison sur. Après avoir ajouté cela, j'ai pu utiliser form_for avec @task – doctororange
Si vous avez @task = Task.new dans votre action, le formulaire_for (@task) fait référence à l'objet de tâche vide.: task rendrait votre formulaire soumis à tasks/new au lieu d'une tâche RESTful/avec method = 'post'. – Jarrod