0
대리인이 확인되지 않은 경우 하나의 이메일을 생성하여 모든 이름과 함께 보내주십시오. 내가 어디로 잘못 갔는지 모르겠다.레일 메일러 및 레이크 작업 관련 문제
agent_card_mailer.rb
class AgentCardMailer < ActionMailer::Base
default from: "Help <[email protected]>"
def not_verified_message(agent_card)
@agent_card = agent_card
mail(:to => "[email protected]", :subject => "Agent License Issues")
end
end
not_verified_message.html.erb
Hi there,<br><br>
These agents have not been verified.<br><br>
<% @agent_cards.each do |agent_card| %>
<%= agent_card.agent.name %><br>
<% end %>
issue_with_license.rake
namespace :agent_cards do
desc 'Send out weekly email for agents with issues'
task remind_license_issues: :environment do
AgentCard.all.each do |agent_card|
if agent_card.verified == false
AgentCardMailer.not_verified_message(agent_card).deliver_now
end
end
end
end
에러 :
ActionView::Template::Error: undefined method `each' for nil:NilClass
,
올바른 방법은 무엇입니까? –
다른 이름으로 Something을 호출하면 앱에서 해당 이름을 찾을 수 없습니다. 컨트롤러에서'@ agent_card'를 설정하면 뷰에서 같은 것을 사용해야합니다. (때로는'@ user = User.first'와 같이 복수화하는 모델을 다룰 때만 가능합니다. @ posts = @ user.posts.all' 게시물은 복수를 예상하기 때문에 여기에 복수화되어 있습니다) – Maxence
실제로'each do'는 아마 'not_verified_message' 메쏘드에서 전달한'agent_card'가 하나의 레코드가 아닌 콜렉션이 아니면 실패합니다. 우리에게 당신의 모든 모델을 제공해 당신을 도웁시다. 예를 들어, 'Agent has_many agent_cards'와 같은 Agent_card의 상위 에이전트 인 경우 다음과 같이 메소드에서 에이전트를 전달한 다음보기에서 모든 에이전트 카드를 검색 할 수 있습니다. – Maxence