0

Rails 3.2.11 でビューとして coffescript を使用しようとしています。

次の行で create.js.coffee があります。

is_valid = <%=@model.valid?%>

if is_valid
  res = confirm("Are you sure you want to continue?")
  if(res)
    <%=@model.activate%>
    window.location.href = "/blabla/models"
  else 
    return
else
  $('.form .field_with_errors').removeClass('field_with_errors')
  jw_funcs.respond_with_error(<%=@response_invalid%>)

問題は、コード行 <%=@model.activate%>
が毎回実行されることです。これは、erb エンジンがコーヒー エンジンとは独立して動作するという事実によるものだと思います。もしそうなら、どうすればこれを行うことができますか?

4

1 に答える 1

1

このコーヒーコードがクライアントのブラウザからモデルメソッドを呼び出すことを本当に期待していませんでしたか?

@model.activate独自のコントローラーアクションにラップします。これは、確認が行われた場合にクライアントによって呼び出されます。このようなもの:

res = confirm("Are you sure you want to continue?")
if(res)
  $.ajax('/models/1234/activate', ...)
else 
  return
于 2013-02-19T12:00:07.917 に答える