0

我想创建一条路线,例如

get '/referrals/send_invite/:email_address'

我将通过remote: true和调用这条路线GET。但是,如果我在浏览器中发出 GET 请求,路由仍会尝试查找视图,从而导致我:

Template is missing

有没有一种方法可以告诉 rails 中的send_invite方法Referrals Controller没有关联的视图?

我希望这可以通过使用 rails 路线来完成。

谢谢。

4

2 回答 2

2

不完全确定,但我猜你想开始行动send_invite,所以你对实际结果不感兴趣,对吗?

你可以做类似的事情

def send_invite
  SomeMailer.mail(:email => params[:email_address])
  # or queue it or whatever
  head :ok
end

请注意,这不是唯一的选择,您还可以执行类似的操作

render :text => "The mail has been sent to #{params[:email_address]}"

或者

render :json => {:result => 'ok', :email_adress => params[:email_address]}

还要注意这应该是一个 POST,因为这个动作不是幂等的(GET 不应该有副作用)。

希望这可以帮助。

于 2012-06-15T07:33:58.703 回答
0

您的模板丢失很可能是由于没有sendinvite.js.erb. 试着在你的里面放一个空白的view folder,看看能解决什么问题。

于 2012-06-15T07:26:46.877 回答