我正在使用黄瓜测试我的rails 3.1应用程序,我正在使用设计进行身份验证.我需要测试当前用户电子邮件是否与授权期间使用的电子邮件相同.问题是黄瓜步骤定义中没有设计助手.
是否有任何解决方案可以在黄瓜步骤定义中使用设计助手?
我试过这个:
Cucumber::Rails::World.send('define_method', 'current_user') do
@current_user ||= (session[:user] && User.find(session[:user])) || :false
end
Run Code Online (Sandbox Code Playgroud)
但这没有帮助.
我有以下问题.我正在使用devise作为我的rails 3应用程序的身份验证模块.我已经生成了设计视图来定制它们.问题在于错误消息样式.如果只是把以下
<%= devise_error_messages! %>
Run Code Online (Sandbox Code Playgroud)
我在页面上看到以下标记:
<div id="error_explanation">
<h2>3 errors prohibited this user from being saved:</h2>
<ul>
<li>Email can't be blank</li><li>Password doesn't match confirmation</li>
<li>Password is too short (minimum is 6 characters)</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我想使用自己的自定义标记来显示消息.我在设计维基中找不到任何方法来做这件事.我该怎么做?
我在rails 3.1项目中使用了这种验证.
validates_presence_of :sales_price
validates_presence_of :retail_price
validates_numericality_of :sales_price, :greater_than => 0,
:allow_blank => true
validates_numericality_of :retail_price, :greater_than => 0,
:allow_blank => true
validate :sales_price_less_than_retail
def sales_price_less_than_retail
if sales_price >= retail_price
errors.add(:sales_price, "must be less than retail price.")
end
end
Run Code Online (Sandbox Code Playgroud)
我正在使用rspec测试模型.当我只使用rails标准验证助手时,一切都很好.但是当我编写自定义验证器(sales_price_less_than_retail)时,测试开始失败.
这是测试的代码:
it { should validate_presence_of :sales_price }
it { should validate_presence_of :retail_price }
it { should validate_numericality_of :sales_price }
it { should validate_numericality_of :retail_price }
Run Code Online (Sandbox Code Playgroud)
这是工厂:
Factory.define :offer_option do |f|
f.sales_price rand(21) + 10 # $10-$30
f.retail_price { |a| a.sales_price …Run Code Online (Sandbox Code Playgroud) 当速率限制超出时,如何处理rack-throttle gem生成的错误?现在我得到一个包含以下内容的回复:
Internal Server Error
undefined method `each' for "403 Forbidden (Rate Limit Exceeded)\n":String
Run Code Online (Sandbox Code Playgroud)
这是堆栈跟踪
ERROR NoMethodError: undefined method `each' for "403 Forbidden (Rate Limit Exceeded)\n":String
/home/rkapitonov/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/query_cache.rb:45:in `each'
/home/rkapitonov/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:458:in `each'
/home/rkapitonov/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.6/lib/rack/body_proxy.rb:23:in `method_missing'
/home/rkapitonov/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/rack/content_length.rb:26:in `call'
/home/rkapitonov/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/rack/log_tailer.rb:14:in `call'
/home/rkapitonov/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.6/lib/rack/handler/webrick.rb:59:in `service'
/home/rkapitonov/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
/home/rkapitonov/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
/home/rkapitonov/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'
Run Code Online (Sandbox Code Playgroud)
如何处理此错误并呈现一些自定义文件或进行重定向?
是否有可能执行正常重启并检查apache配置语法而不是root或具有root权限?
我已经尝试将suid位设置为执行重启的脚本.这是脚本本身:
#!/bin/bash
FILENAME=$1
DATE=`date +%Y%m%d`
DIRECTORY='bckp/'
if [ ! -d "$DIRECTORY" ]; then
echo "Backup directory doesn't exist. Creating one."
mkdir $DIRECTORY
fi
if [ -z "$FILENAME" -a ! -f "$FILENAME" ]; then
FILENAME="webdav.conf"
echo "No file specified. Backing up webdav.conf"
fi
REV=0
BACKUP="$FILENAME.$DATE.$REV"
while [ -f $BACKUP ]; do
let REV+=1
BACKUP="$DIRECTORY$FILENAME.$DATE.$REV"
done
cp $FILENAME $BACKUP
echo $OUTPUT
OUTPUT=$(apache2ctl configtest 2>&1)
if [ "$OUTPUT" == "Syntax OK" ]; then
echo "Syntax OK"
echo "Performing restart"
apachectl …Run Code Online (Sandbox Code Playgroud) 有没有办法替换,cycle('float: left', 'float: right')以便cycle使用纯css类而不是使用帮助器.我需要在一列内左右对齐div.使用循环会导致缓存出现一些困难,因此最好使用静态样式.
<div class="userCards">
<div class="singleCard <%= cycle 'cardLeft', 'cardRight' %>">
<!-- content -->
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
注意,userCard有固定的高度,overflow: hidden 和width: 48%.
ruby ×3
devise ×2
apache ×1
apache2 ×1
bash ×1
css ×1
cucumber ×1
html ×1
http ×1
linux ×1
permissions ×1
rspec ×1
styling ×1
throttling ×1
validation ×1