我是一个 jQuery 总n00b。在我的 Rails 应用程序中会发生以下情况:
我在主页上,我点击这个链接:
<a href='/betas/new' rel='facebox'>Sign up</a>
一个漂亮的 Facebook 弹出窗口显示并渲染此视图和包含表单:
# /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
现在我想在按下提交按钮后,在 SAME 弹出窗口中呈现该页面,但我不知道该怎么做。我试过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 未定义”错误。这是什么意思?