form_for undefined method `model_name':: ActiveRecord_Relation:Classe

J'ai eu des problèmes avec form_for rendu. Je veux avoir un _form.html.erb partielle qui traite à la fois la création et l'édition de mon Problème d'enregistrement. Quand je vais en bas de la route de l'aide

<%= form_for(@problem) do |f| %>

J'obtiens l'erreur suivante:

undefined method `model_name' for Problem::ActiveRecord_Relation:Class

Dans mes itinéraires.rb j'ai le texte suivant:

PW::Application.routes.draw do
root to: 'problems#index', via: :get
resources :problems do
member do
  post 'up_vote'
  post 'down_vote'
 end
end

J'ai aussi mon Problème de Contrôleur de

class ProblemsController < ApplicationController
 include Concerns::Votes

 def new
  @problem = Problem.new
 end

 def index
 @problem = Problem.all
 end

 def show
 @problem = find_problem
 end

 def create
 @problem = current_user.problems.new(problem_params)
 @problem.save
 redirect_to @problem
 end


private

 def find_problem
 @problem = Problem.find(params[:id])
end

 def problem_params
params.require(:problem).permit(:name, :description, :url)
end
end

Je peux le faire fonctionner si je spécifiez les éléments suivants :

<%= form_for @problem.new, url: {action: "create"} do |f| %>

Cependant j'ai l'impression que c'est de me répéter, si je puis avoir à faire une partiels séparés juste pour le modifier. J'ai vraiment cant pourquoi cela ne veux pas travailler. Pourrait-il en être je suis le rendu de la forme de l'indice.html.erb?

Toute aide ou une orientation serait très apprécié.

Avez-vous un Problem modèle?
Veuillez vérifier que vous êtes hériter de votre Problème de classe avec Active record. il devrait être une sous classe de l'enregistrement actif
pourriez-vous s'il vous plaît montrer votre Problème de classe
Publier vos controller.
J'ai ajouté ci-dessus.

OriginalL'auteur DMH | 2014-04-28