小编dMi*_*Mix的帖子

功能测试Authlogic?

在我的一些控制器中,我有一个before_filter来检查用户是否已登录?用于CRUD操作.

application.rb中

def logged_in?
  unless current_user
    redirect_to root_path
  end
end

private
def current_user_session
  return @current_user_session if defined?(@current_user_session)
  @current_user_session = UserSession.find
end

def current_user
  return @current_user if defined?(@current_user)
  @current_user = current_user_session && current_user_session.record
end
Run Code Online (Sandbox Code Playgroud)

但是现在我的功能测试失败了,因为它重定向到root.所以我需要一种方法来模拟会话已经创建,但我尝试过的任何东西都没有.这是我现在所拥有的,测试几乎忽略了它:

test_helper.rb中

class ActionController::TestCase
  setup :activate_authlogic
end
Run Code Online (Sandbox Code Playgroud)

posts_controller_test.rb

class PostsControllerTest < ActionController::TestCase
  setup do
    UserSession.create(:username => "dmix", :password => "12345")
  end

  test "should get new" do  
    get :new
    assert_response :success
  end
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

ruby tdd ruby-on-rails

5
推荐指数
1
解决办法
5300
查看次数

jQuery:在每个迭代器中使用时间延迟?

我正在尝试创建一个旋转木马效果,每3秒自动循环一次.

    $(".headline_img").each(function(intIndex){
        setTimeout($(this).show(),3000);
    });
Run Code Online (Sandbox Code Playgroud)

超时延迟不起作用.

这将在dom加载后立即显示所有图像.这就像忽略了setTimeout函数一样.

我错过了什么?

注意:我用$(document).ready调用它,您认为这可能会影响它吗?

javascript jquery

4
推荐指数
1
解决办法
1632
查看次数

Clojure应用程序无法启动Heroku; Aleph + RedisToGo超时

我的clojure noir应用程序在本地工作100%,连接到RedisToGo没问题.

问题是当我部署到Heroku(git push heroku master)时,我收到超时错误:

Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
Run Code Online (Sandbox Code Playgroud)

完整日志在这里:https://gist.github.com/1842439

当我删除这个redis连接代码时,它部署正常:

(:use [aleph.redis :only (redis-client)])    
(def r (redis-client {:host redis-url :password redis-pass :port redis-port}))
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我运行"heroku run lein run repl"并粘贴上面的aleph代码时,它连接到redis并且我可以读/写数据.

所以它是关于heroku如何启动应用程序的东西,它打破了与RedisToGo的连接并将其计时.

clojure heroku

4
推荐指数
1
解决办法
604
查看次数

Clojure,使用Enlive从选择器中提取原始HTML?

我需要从HTML页面的某个部分检索一些原始HTML.

我编写了刮刀并抓取了相应的div,但它返回了一个标签贴图.

(:use [net.cgrand.enlive-html :as html])

(defn fetch-url [url]
 (html/html-resource (java.net.URL. url)))

(defn parse-test []
  (let [url "http://www.ncbi.nlm.nih.gov/pubmedhealth/PMH0000928/"
        url-data (fetch-url url)
        id "a693025"]
    (first (html/select url-data [(keyword (str "#" id "-why"))]))))
Run Code Online (Sandbox Code Playgroud)

这输出:

{:tag :div, :attrs {:class "section", :id "a693025-why"}, :content ({:tag :h2, :attrs nil, :content ({:tag :span, :attrs {:class "title"}, :content ("Why is this medication prescribed?")})} {:tag :p, :attrs nil, :content ("Zolpidem is used to treat insomnia (difficulty falling asleep or staying asleep). Zolpidem belongs to a class …
Run Code Online (Sandbox Code Playgroud)

clojure enlive

4
推荐指数
1
解决办法
773
查看次数

Emacs + OSX中的Bash没有找到通过terminal.app安装的gems?

我正在osx上的emacs中运行bash,然后从另一个地方运行来自terminal.app的拉宝石

在bash中:

which gem
/usr/bin/gem
Run Code Online (Sandbox Code Playgroud)

在终端:

which gem
/opt/local/bin/gem
Run Code Online (Sandbox Code Playgroud)

如何更改bash以匹配终端?

ruby macos emacs bash rubygems

3
推荐指数
1
解决办法
1099
查看次数

RegEx获取IP地址之间的数字?

假设你有一个IP地址:74.125.45.100所以它的ABCD

有没有办法使用RegEx分别获得A,B,C?

regex

2
推荐指数
3
解决办法
2324
查看次数

Rails:每个Array给出错误?

在一种形式中,我正在创建一个区域并编辑多个用户.下面的"user_attributes"用于用户,"name"用于区域.因此,对于每个user_attribute,我想更新用户模型.

PARAMS

{ "territory"=>{"name"=>"Central Canada",
  "user_attributes"=>[{"user_id"=>"30"},{"user_id"=>"30"}]}
}
Run Code Online (Sandbox Code Playgroud)

创造行动

@territory = @current_account.territories.new[:territory]
params[:user_attributes].each do |item|
  @user = User.find(item[:user_id])
  @user.update_attribute(:territory_id, @territory.id)
end 
Run Code Online (Sandbox Code Playgroud)

但是rails正在反击,params [:user_attributes]是零.但你可以从params看到它不是.我错过了什么?

ruby ruby-on-rails

1
推荐指数
1
解决办法
2287
查看次数

Rails:如何保持复杂的应用程序RESTful?

我总是尝试尽可能使我的应用程序成为RESTful,但我最近开始研究一个复杂的项目,需要在我的控制器中使用多个附加方法.

我通常通过添加另一个:集合到路线来实现这一点,但它似乎是一种解决方法,在场景中我有5个.

是否有处理控制器中额外方法的最佳实践?它们通常是更新模型的简单形式.

ruby ruby-on-rails

1
推荐指数
1
解决办法
726
查看次数

正则表达式删除"http://"之前的文本?

我有一个ruby应用程序从字符串解析一堆URL:

@text = "a string with a url http://example.com"

@text.split.grep(/http[s]?:\/\/\w/)

@text[0] = "http://example.com"
Run Code Online (Sandbox Code Playgroud)

这很好用^^

但有时URL在HTTP://之前有文本

@text = "What's a spacebar? ...http://example.com"

@text[0] = "...http://example.com"
Run Code Online (Sandbox Code Playgroud)

是否有正则表达式可以在字符串中选择"http://"之前的文本,以便我可以将其删除?

ruby regex

1
推荐指数
2
解决办法
1154
查看次数

jQuery:用字符串替换多个正则表达式匹配?

我试图使用这个代码块来替换一个不同数字的长字符串中的所有"123".

   var new_id = new Date().getTime();
    $('#food').after(
      "<div id='123' name='123'> etc etc".replace('123', new_id)
    );
Run Code Online (Sandbox Code Playgroud)

但它只是用new_id替换了前123个.有没有办法取代所有这些?

javascript regex jquery

1
推荐指数
2
解决办法
1万
查看次数

如何在单击"更多"链接之前截断文本?

我有一长串的段落,我想将每个段落修剪为2行(50个字符),当您点击"更多"链接时,它将显示完整的段落.

我正在使用原型库和rails.

理想情况下我喜欢这样做,不要将段落分成2个div,当你点击更多时显示另一个.或者这是唯一的方法吗?

javascript css ruby-on-rails prototypejs

0
推荐指数
1
解决办法
3379
查看次数

标签 统计

ruby ×5

ruby-on-rails ×4

javascript ×3

regex ×3

clojure ×2

jquery ×2

bash ×1

css ×1

emacs ×1

enlive ×1

heroku ×1

macos ×1

prototypejs ×1

rubygems ×1

tdd ×1