■テストの書き方
def test_ip_block @request.remote_addr = "123.123.123.123" get :login assert_response :success assert_template "#{RAILS_ROOT}/public/404.html" end
■メソッドの書き方
def valid_ip? if request.remote_ip == MY_SERVER_IP || request.remote_ip == DEVELOPMENT_IP return true else render :file => "#{RAILS_ROOT}/public/404.html" return false end end
■携帯とかを使うアプリで、PCアクセスを制限する場合
※携帯用のプラグインとしてJpMobile使用
def pc_blockker unless request.mobile? #&& request.mobile.valid_ip? if valid_ip? redirect_to :controller => "administrator/admin", :action => "login" end return false else return true end end def valid_ip? if request.remote_ip == MY_SERVER_IP || request.remote_ip == DEVELOPMENT_IP return true else render :file => "#{RAILS_ROOT}/public/404.html" return false end end