내 애플은 Kijiji의 이메일 응답 시스템 같은 것입니다. 각 글에 대해 사용자가 글에 답글을 쓸 수 있습니다. 제출할 때이 오류가 발생합니다.
Undefined method `contact_email' for nil:NilClass
나는 **
def create
@emailinterest = Emailinterest.new(params[:emailinterest])
respond_to do |format|
if @emailinterest.save
**Notifier.emailinterest_notification(self, @submission).deliver**
format.html { redirect_to(@emailinterest, :notice => 'Email was successfully sent!') }
format.xml { render :xml => @emailinterest, :status => :created, :location => @emailinterest }
else
format.html { render :action => "new" }
format.xml { render :xml => @emailinterest.errors, :status => :unprocessable_entity }
end
end
end
emailinterests_controller.rb "자기"이메일로 전송되고있는 emailinterest 개체를 참조하여 아래 오류의 원인이되는 선을 표시. @ 제출은 emailinterest 객체가 상호 작용하는 현재 객체를 참조해야합니다. \ 레일 \ actuirl5 \ 응용 프로그램 \ 컨트롤러 \ emailinterests_controller.rb
def create
@emailinterest = Emailinterest.new(params[:emailinterest])
@submission = Submission.find(params[:submission_id])
respond_to do |format|
if @emailinterest.save
Notifier.emailinterest_notification(@emailinterest, @submission).deliver
format.html { redirect_to(@emailinterest, :notice => 'Email was successfully sent!') }
format.xml { render :xml => @emailinterest, :status => :created, :location => @emailinterest }
else
format.html { render :action => "new" }
format.xml { render :xml => @emailinterest.errors, :status => :unprocessable_entity }
end
end
end
C : \ 레일
C FIX
**def emailinterest_notification(emailinterest, submission)**
@emailinterest = emailinterest
@submission = submission
**mail :to => submission.contact_email,**
:from => emailinterest.sender_email,
:subject => 'actuirl.com - RE:' + submission.title
end
notifier.rb \ actuirl5 \ app \ views \ submissions_form_new_emailintere st.html.erb <%= form_for(emailinterest) do |f| %>
<%= hidden_field_tag :submission_id, value = @submission.id %>
<div class="field">
<%= f.label :sender_email %><br />
<%= f.text_field :sender_email %>
</div>
<div class="field">
<%= f.label :sender_email_content %><br />
<%= f.text_area :sender_email_content %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
C : \ 레일 \ actuirl5 \ 응용 프로그램 제출 \ show.html.erb \ 전망 \
<%= render :partial=>"form_new_emailinterest", :locals=>{:emailinterest=>Emailinterest.new} %>
<%= form_for(emailinterest) do |f| %>
<%= hidden_field_tag :submission_id, value = @submission.id %>
<div class="field">
<%= f.label :sender_email %><br />
<%= f.text_field :sender_email %>
</div>
<div class="field">
<%= f.label :sender_email_content %><br />
<%= f.text_area :sender_email_content %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
<%= render :partial=>"form_new_emailinterest", :locals=>{:emailinterest=>Emailinterest.new} %>
어떻게 정의해야합니까? '@submission = Submission.find (params [: id])' 나는 이것을 추가하기로 결정했으며이 오류가 발생했습니다. _ ID 번호가 –
이 아닌 제출물을 찾지 못했습니다. 먼저 테스트를 위해 @submission = Submission.first를 시도해보십시오. params [: id]가 제공되지 않거나 해당 ID를 찾을 수없는 경우 작동합니다. 디버그하거나 개발 로그에서 확인할 수 있습니다. – Jirapong