рельсы 3 - PullRequest
       42

рельсы 3

0 голосов
/ 18 октября 2011

Есть идеи, как мне отправить параметры моей модели на почту?

Вот проблема: у меня есть приложение cardealler, и на странице car.show я сделал ссылку «Отправить запрос по электронной почте»

<%= link_to 'Send email request',  send_to_mail_car_path(@car) %>

в cars_controller:

def send_to_mail
    CarMailer.request_email(@car).deliver
    @car = Car.find(params[:id])
    @search = Car.search(params[:search])
    redirect_to @car, :notice  => "Notification sent."
  end

, который работает, я получаю письма от клиентов (это был бы я, потому что приложение находится в стадии разработки) .. но я получаю это письмо, пока оно содержит только простой текст в этих 2 файлах:

request_email.html.erb и request_email.text.erb

когда я пытаюсь добавить некоторые данные автомобиля, это выдает мне ошибки .. поэтому, если я напишу в этих файлах:

<%= @car.id %> чтобы я мог просматривать идентификатор машины по почте, вместо идентификатора у меня на экране появляется эта ошибка:

Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id

4:     <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
5:   </head>
6:   <body>
7:     <h1> <%= @car.id %></h1>
8:     <p>

в учебнике user.confirm_registration также используется как <% = user.name%>, и мне удалось получить имя пользователя по почте. Почему я не вижу свою машину в своем приложении?

Любая помощь будет оценена. Некоторые уроки могут быть .. спасибо.

1 Ответ

1 голос
/ 18 октября 2011

Проблема здесь:

CarMailer.request_email(@car).deliver
@car = Car.find(params[:id])

Вы должны присвоить @car, прежде чем сможете его использовать.

@car = Car.find(params[:id])
CarMailer.request_email(@car).deliver
...