特定のユーザーが自分の製品に興味を持っている場合は、そのユーザーに電子メールを送信できます。私の電子メールでは、ユーザーから引き出された特定の情報を含めたいと思いますが、現時点ではアプリケーションで別の場所で使用されているにもかかわらず、定義されていないとエラーが表示されます。私は以下のメールをコピーし、<%>の間のものは私が含めたいものであり、誰かが正しい方向に私を向けることができ、正しいものかそうでないものかを教えてくれるのだろうかと思っていました。どんな助けも素晴らしいだろう。送信したいメッセージは次のとおりです。ActionMailerメッセージ配信コンテンツ
Hello <%@user.username%>
The user <% current_user.username %> has registered an interest in the following product of yours:
<% @game.game_name %>
<% @game.console %>
<% @game.genre %>
The user <% current_user.usernames %> has the following games for offer:
<% current_user.game.game_name %>
<% current_user.game.game_name %>
<% current_user.game.game_name %>
To view <% current_user.username %> profile click <% link_to "here", current_user.show %>
If you wish to contact the user by email then contact the following email <% current_user.email %>.
私はそれが合理的であることを望みます。私が持っているものをさらに深く理解するために、ユーザー情報を含むusersテーブルと、user_idの外部キーを持つゲーム情報を持つゲームテーブルがあります。ユーザーにはhave_manyというゲームがあり、ゲームにはbelongs_toというユーザーがいます。
UPDATE
class GameTrade < ActionMailer::Base
default :from => "[email protected]"
def game_interest(user)
@user = user
@game = game
mail :to => user.email, :subject => "Game Interest"
end
end
メーラーメソッドをここに含めることはできますか?私はあなたが@gameをどのようにセットアップしているのかを見たいと思います。 –
こんにちはベン、私は自分の投稿を自分のメーラーメソッドで更新しました。私は '@ game = game'と言った '@user = user'の下に行がありましたが、それはうまくいかないでしょう。 – user1222136
ですから、game_interestメーラー関数で '@ game'を設定していないので、あなたのビューには設定されません。あなたはメソッドのパラメータとして 'game'を渡すことも、他の方法で取得することもできます(@ user.gameのようなものです) –