为什么我不能在浏览器上提醒某些人?

时间:2010-07-09 09:26:14

标签: javascript ruby-on-rails

我有一个登录方法,我想说一个提醒,当用户成功登录时...这是远程表单:

<div id="login">
    <%if logged_in? %>       
        <b><%=current_user.login%></b>  
        <%=link_to "Signout", logout_path%>
    <%else%>
        <% form_remote_tag :url => session_path do -%>
        <p><%= label_tag 'login' %>
        <%= text_field_tag 'login', @login %> <%= label_tag 'password' %>
        <%= password_field_tag 'password', nil %></p>

        <p><%= label_tag 'remember_me', 'Remember me' %>
        <%= check_box_tag 'remember_me', '1', @remember_me %></p>
        <p><%= submit_tag 'Log in' %></p>
        <% end -%>        
    <%end%>  
</div>  

这是session_controller.rb:

  def create
    logout_keeping_session!
    user = User.authenticate(params[:login], params[:password])
    if user
      # Protects against session fixation attacks, causes request forgery
      # protection if user resubmits an earlier form using back
      # button. Uncomment if you understand the tradeoffs.
      # reset_session
      self.current_user = user
      new_cookie_flag = (params[:remember_me] == "1")
      handle_remember_cookie! new_cookie_flag 
      #redirect_back_or_default('/')
      flash[:notice] = "Logged in successfully"  
      self.reload_login() 
    else
      note_failed_signin
      @login       = params[:login]
      @remember_me = params[:remember_me]
      render :action => 'new'
    end
  end

  def reload_login   
    respond_to {|format| format.js}
    flash[:notice] = "Any body calling me?" 

  end    

然后,这是reload_login.js.rjs:

page.alert('This message is from Rails!')

我正在使用带有restful_authorization的RoR ...... 我可以看到“任何身体都在呼唤我?”没有出现,有没有人知道我的代码有什么问题?谢谢你。

1 个答案:

答案 0 :(得分:0)

代码中的一个错误::在create action中使用“reload_login()”或“reload_login”代替“self.reload_login()”来调用reload_login方法。