J'ai une vue d'index et une action pour un modèle appelé ReferralRequest. Lorsque je crée la demande de référence, la méthode create dans mon contrôleur rend l'index et dans la méthode d'index j'ai @referral_requests = ReferralRequest.all. Pour une raison quelconque, cependant, lorsque j'appuie sur le formulaire/new et que je crée la demande de référence, NoMethodError apparaît dans ReferralRequests # create, une méthode indéfinie "each" dans cette ligne de l'index:Rails: Méthode Create et méthode d'index NoMethodError issue
<% @referral_requests.each do |referral_request| %>
Je peux résoudre cette erreur en ajoutant @referral_requests = ReferralRequest.all à ma méthode create, mais cela me semble incorrect.
Quelqu'un peut-il comprendre ce qui se passe? Merci pour les commentaires!
Voici tout mon contrôleur demandes de renvoi:
class ReferralRequestsController < ApplicationController
before_action :require_login
def index
@referral_requests = ReferralRequest.all
end
def edit
@referral_request = ReferralRequest.find(params[:id])
end
def update
@referral_request = ReferralRequest.find(params[:id])
if @referral_request.update_attributes(referral_request_params)
flash[:success] = "Referral Request Updated!"
render 'referral_requests/index'
else
render "edit"
end
end
def create
@referral_request = current_user.referral_requests.build(referral_request_params)
if @referral_request.save
flash[:success] = "Referral Request Created!"
render 'referral_requests/index'
else
Rails.logger.info(@referral_request.errors.inspect)
@feed_items = []
render 'static_pages/home'
end
end
def destroy
end
def new
@patient = Patient.find(params[:patient_id])
@referral_request = current_user.referral_requests.build(patient: @patient) if signed_in?
end
def show
@referral_request = ReferralRequest.find(params[:id])
end
private
def referral_request_params
params.require(:referral_request).permit(:content, :patient_id, concern_ids: [],
insurance_ids: [], race_ids: [], language_ids: [], gender_ids: [])
end
end
probablement vous manque "end" entre ces méthodes, dans le contrôleur ReferralRequest – widjajayd
À quoi ressemble votre nouvelle action? – hashrocket
Merci pour l'aide - J'ai ajouté tout mon contrôleur de requêtes de référence à la question originale. – mike9182