ruby 2.2.2p95
Rails 4.2.1
Mac Yossemite
Mailerクラスのrspecを記述しているのですが、上手く通りません。
Mailer内で、Bookモデルからインスタンスを生成しているのですが、それをrspecで記述したいのですが、以下のエラーが出ます。
Couldn't find Book without an ID
Mailerクラスには以下のように記述してます。
class TestMailer < ApplicationMailer b = Book.find(user_id) @book_title = b.title end
また、generatorで生成されたrspecは以下になります。
it "renders the headers" do expect(mail.subject).to eq("reports") expect(mail.to).to eq(["to@example.org"]) expect(mail.from).to eq(["from@example.com"]) end it "renders the body" do expect(mail.body.encoded).to match("Hi") end
このspec内に、
b = Book.new
みたいな処理をいれて、specを通すのかなと思ったのですが、
"renders the headers"
と
"renders the body"
の2つのspecに対して、どのように記述したらいいのかがわからず、ググッていたのですが、
よくわからなかったため、質問させて頂きました。
宜しくお願いします。
※不足している情報があれば追記致します。
追記
情報に不備があったため、追記致します。
reportメソッド内でbook_idを指定します。
そのbook_idを元にfindで探し、そのタイトルをメール送信するという流れです。
質問文でなぜかuser_idと記述してしまい、誤解を招きました。申し訳ありません。
class TestMailer < ApplicationMailer def report(book_id: nil) b = Book.find(book_id) @book_title = b.title end end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/10 01:26
2015/10/10 01:27