Ich bin ziemlich neu in Schienen und kämpfen mit dem Ändern von Datenbankwerten, nachdem der Benutzer erfolgreich über Stripe bezahlt. Außerdem leitet es mich nach dem Bezahlen irgendwie immer zu '/ subscriberjobs/1' weiter, wo der folgende Fehler erscheint. Stattdessen sollte es zum root_path der Anwendung verweisen.Rails 4 Fehler: ActiveRecord :: RecordNotFound Konnte 'id' nicht finden
Dies ist der erscheinende Fehler:
ActiveRecord::RecordNotFound in SubscriberjobsController#update
Couldn't find Job with 'id'=
Hier ist, was ich habe:
Routen
resources :subscriberjobs
resources :jobs
Jobs-Controller
def new
if current_user
@job = current_user.jobs.build
else
redirect_to new_user_session_path
end
end
def create
@job = current_user.jobs.build(job_params)
if @job.save
redirect_to "/subscriberjobs/new?job_id=#{@job.id}"
else
render 'new'
end
end
Subscriberjobs Controller (hier ist was funktioniert nicht!)
class SubscriberjobsController < ApplicationController
before_filter :authenticate_user!
def new
end
def update
@job = Job.find(params[:job_id])
token = params[stripeToken]
customer = Stripe::Customer.create(
card: token,
plan: 1004,
email: current_user.email
)
@job.is_active = true
@job.is_featured = false
@job.stripe_id = customer.id
@job.save
redirect_to root_path
end
end
Formular
= simple_form_for @job do |f|
= f.input :company, required: true
= f.input :title, required: true
= f.input :job_filename
= f.input :location, required: true
= f.input :sort
= f.input :tag_list, required: true
= f.input :content_one
= f.input :content_two
= f.input :content_three
= f.hidden_field :job_id, value: params[:id]
= f.button :submit
Bitte sagen Sie mir, wenn Sie weitere Informationen benötigen. Jede Antwort wird sehr geschätzt. Vielen Dank!
Vielen Dank für Ihre Antwort! Ich benutze diesen speziellen Controller, weil ich das nur tun möchte, wenn der Benutzer über den Stripe – jonhue
bezahlt habe. Ich habe das Formular zu der Frage hinzugefügt und soweit ich sehen kann, heißt es tatsächlich 'job_id' – jonhue
' = f .hidden_field: job_id, value: params [: id] 'Vielleicht fängt diese Zeile nicht deine params [: id]? –