如何使用Rails 3.0.3和Ruby 1.9.2将javascript放在控制器中

时间:2011-02-25 06:18:31

标签: ruby ruby-on-rails-3 unobtrusive-javascript

有人可以告诉我如何将javascript放入控制器中。我在会话控制器中试过像这样的东西:

def sign_in
  if user.nil?
      @title = "Sign in"
      render :js => "alert('Invalid email/password combination.');"
  else
      sign_in user
      redirect_back_or user      
  end
end

当我尝试时,页面以文本格式显示:alert('无效的电子邮件/密码组合。');

我不想使用flash消息。我真的很想使用javascript提醒......请帮忙......

1 个答案:

答案 0 :(得分:3)

对于UJS的方式,这样做:

你的controller.rb中的

def sign_in
  if user.nil?    
      @title = "Sign in"    
      respond_to do |format|            
          format.js    
      end
    end    
  else    
      sign_in user    
      redirect_back_or user          
  end    
end

* in sign_in。 js .erb *

alert('Invalid email/password combination.');

这将使你与教会和国家分离。 controller.rb中的所有ruby代码,view.js.erb中的所有javascript。