正如我在标题中所写,当我尝试点击我的游戏页面时,我收到以下错误。
这就是我在games_controller中的内容:
def email
respond_to do |format|
user = @game.user
email = user.email
g = GameTrade.game_interest(user)
g.deliver
format.html { redirect_to root_url }
format.json { render json: @game }
end
end
这就是我在show.html.erb
中的内容 <%= button_to "Send Email", :action => 'email'%>
在我的路线页面中,我有线资源:游戏
答案 0 :(得分:2)
“email”不是资源的标准路由,因此您需要为其添加路由。理想情况下,这将是一个POST请求,因为跟随该链接(按钮)会导致更改发生。最后,您应该坚持使用url帮助程序,而不是指定操作,因为它们会使代码变得有点脆弱。
在你的routes.rb中尝试这样的事情:
resources :games do
post 'email', :on => :member
end
然后在您的视图中,生成按钮,如下所示:
<%= button_to "Send Email", email_game_path(@game) %>
然后,您需要以常规方式在电子邮件操作中找到游戏,然后才能执行任何操作:
@game = Game.find(params[:id])