私は jQuery 合計n00bです。私のレールアプリでは、これが起こります:
私はホームページにいます、私はこのリンクをクリックします:
<a href='/betas/new' rel='facebox'>Sign up</a>
美しいフェイスボックス ポップアップが表示され、このビューとそれを含むフォームがレンダリングされます。
# /app/views/invites/new
<% form_tag({ :controller => 'registration_code', :action => 'create' }, :id => 'codeForm') do %>
<%= text_field_tag :code %>
<br />
<%= submit_tag 'Confirm' %>
<% end %>
送信時にチリンと音を立て、コードが有効な場合、ユーザーは別のコントローラーの別のページに移動します。
def create
# some stuff
redirect_to :controller => 'users', :action => 'type'
end
送信ボタンが押された後、同じポップアップにフォームが含まれているページをレンダリングしたいと思いますが、その方法はわかりません。私はFaceboxRenderを試しましたが、これは起こります:
元のバージョン:
# /controllers/users_controller
def type
end
そのように変更すると、何も起こりません:
# /controllers/users_controller
def type
respond_to do |format|
format.html
format.js { render_to_facebox }
end
end
そのように変更すると(間違っていることはわかっていますが、私はn00bなので大丈夫です:-):
# /controllers/users_controller
def type
respond_to do |format|
format.html { render_to_facebox }
format.js
end
end
私はこれをレンダリングしました:
try {
jQuery.facebox("my raw HTML from users/type.html.erb substituted here")'); throw e }
解決策はありますか?
どうもありがとうございます!!
現在、firebug コンソールから「Ajax が定義されていません」というエラーが表示されます。どういう意味ですか?