0

のようなルートを作成したい

get '/referrals/send_invite/:email_address'

remote: trueと を介してこのルートを呼び出しGETます。ただし、ブラウザーで GET 要求を発行すると、ルートは引き続きビューを見つけようとするため、次のようになります。

Template is missing

send_inviteのメソッドにReferrals Controllerビューが関連付けられていないことをレールに伝える方法はありますか?

レールルートを使用するだけでこれが達成できることを願っています。

ありがとう。

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 に答える