Jquery 在Rails 3.2中未呈现AJAX部分
我有一个注册系统,在测试期间,需要邀请才能注册。用户请求邀请,然后发送带有令牌嵌入链接的电子邮件回站点。例:Jquery 在Rails 3.2中未呈现AJAX部分,jquery,ajax,ruby-on-rails-3,Jquery,Ajax,Ruby On Rails 3,我有一个注册系统,在测试期间,需要邀请才能注册。用户请求邀请,然后发送带有令牌嵌入链接的电子邮件回站点。例: `http://domain.com/register?invitation_token=V80vy3muGvjORfu2eA8SCg` Rails然后在routes文件中捕获URL的这个令牌部分,作为此路由: `get 'register/:invitation_token', :controller => 'users', :action => 'new', as: '
`http://domain.com/register?invitation_token=V80vy3muGvjORfu2eA8SCg`
Rails然后在routes文件中捕获URL的这个令牌部分,作为此路由:
`get 'register/:invitation_token', :controller => 'users', :action => 'new', as: 'accept'`
这样做的目的是允许系统显示预先填写了用户电子邮件的注册表。这样,作为一种竞赛,我们可以跟踪哪些测试版用户发出的邀请最多,得到的响应最多,等等
URL被路由到usersnew操作,该操作包含一个if语句,用于确定表单的显示方式
users/new.html.erb
结束
注意:正在传递来自令牌的信息。我可以确认,当表单显示时,它确实显示了用户预先填写的电子邮件地址
bPopup中的弹出功能在站点的其他区域工作得非常完美,所以我知道这不是JS代码,只是对“form”的URL调用
编辑添加视图
用户/_form.html.erb
在将弹出窗口附加到新的.html.erb中时,是否指定了id为DialogPop的divdiv@Gowri-是的,这不是问题所在。我也想到了这一点,因为我已经为usersnew关闭了布局。我已经添加了,但仍然不能解决弹出窗口内容不显示的问题。我将把这些观点添加到问题中。。。
<% if @user.invitation %>
<script type="application/javascript">
$(window).load(function() {
$('#DialogPop').bPopup({loadUrl:'form', speed:'fast'});
})(jQuery);
</script>
<% else %>
<%= render partial: 'form', locals: { isAjaxed: true } %>
<% end %>
def new
@user = User.new(:invitation_token => params[:invitation_token])
@user.email = @user.invitation.email if @user.invitation
respond_to do |format|
format.html {}
end
<div id="new-form-holder">
<%= isAjaxed = false unless (defined? isAjaxed) %>
<%= form_for @user, remote: isAjaxed do |f| %>
<%= f.hidden_field :invitation_token %>
<%= f.text_field(:name, class: 'txtbx flt-left', style: 'width: 130px', placeholder: 'Name...') %>
<%= f.text_field(:surname, class: 'txtbx flt-left', style: 'width: 170px', placeholder: 'Last Name...') %>
<% if @user.invitation %>
<%= f.text_field(:email, class: 'txtbx flt-left', style: 'width: 325px', placeholder: 'Email...', :disabled => true) %>
<% else %>
<%= f.text_field(:email, class: 'txtbx flt-left', style: 'width: 325px', placeholder: 'Email...') %>
<% end %>
<%= f.password_field(:password, class: 'txtbx flt-left', style: 'width: 325px', placeholder: 'Password...') %>
<%= f.password_field(:password_confirmation, class: 'txtbx flt-left', style: 'width: 325px', placeholder: 'Confirm password...') %>
<%= content_tag(:div, image_submit_tag("img_blank.png", id: 'btnSubmit', class: 'btn-lrg flt-right', title: 'Submit'), class: 'btn-lrg flt-left submit-holder') %>
<%= content_tag(:div, image_tag("img_blank.png", id: 'btnCancel', class: 'btn-lrg flt-right', title: 'Cancel'), class: 'btn-lrg flt-left submit-holder') %>
<% end %>