对于Rails 3.0 Todo应用程序,我有一个带有Status字段的Tasks模型.存储状态字段数据(字段类型)的最佳方法是什么,并且仍然在视图(HTML表格)中显示人类可读的版本?状态可以是:
0 =正常
1 =有效
2 =已完成
现在我有这个:
create_table"tasks",:force => true do | t |
t.integer"status",:limit => 1 ,: default => 0,:null => false
class Task < ActiveRecord::Base
validates_inclusion_of :status, :in => 0..2,
:message => "{{value}} must be 0, 1, or 2"
Run Code Online (Sandbox Code Playgroud)
<h1>Listing tasks</h1>
<table>
<tr>
<th>Status</th>
<th>Name</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @tasks.each do |task| %>
<tr>
<td><%= task.status %></td>
<td><%= task.name %></td>
<td><%= link_to 'Show', task %></td>
<td><%= link_to 'Edit', edit_task_path(task) …Run Code Online (Sandbox Code Playgroud) 有没有人有使用TFS 2008/2010和Jenkins进行持续集成(CI)的特定经验?我们正在尝试决定使用哪个CI服务器.我们的团队专门在Microsoft .NET/Visual Studio 2010/C#中工作.我们有以下要求:
我意识到安装工具不一定能为我们提供开箱即用的功能,而且我们必须与MSBuild等其他工具集成才能实现这一目标.
我正在寻找Jenkins具有TFS 2008/2010不具备的特定功能,反之亦然.还有哪些更容易维护,使用等
我在一个私有的EC2 VPC子网中有一个Jenkins CI服务器,为了让它可以从外部访问我已经设置了一个ELB(它也使用IAM处理HTTPS安全证书,但这只是为什么的理由我这样做而不是直接访问单个实例).
Jenkins服务器配置为要求身份验证,因此当ELB作为匿名用户进行健康检查时,它会获得403访问禁止页面,这应该完全正常,但是被理解为错误并且将实例标记为停止服务.
有没有办法让ELB将403响应视为OK响应?或者也许在Jenkins中有一个总是返回200状态代码的页面?
我正在编写一个Sinatra应用程序,需要根据用户是使用iPhone还是常规浏览器来呈现不同的布局.我可以使用Rack-Mobile-Detect检测浏览器类型,但我不确定告诉Sinatra使用哪种布局的最佳方式.
此外,我有一种感觉,我如何选择这样做也可能会破坏页面缓存.真的吗?
require 'sinatra/base'
require 'haml'
require 'rack/mobile-detect'
class Orca < Sinatra::Base
use Rack::MobileDetect
helpers do
def choose_layout
if request.env['X_MOBILE_DEVICE'] == :iPhone
# use iPhone layout
else
# use normal layout
end
end
end
before do
# should I use a before filter?
choose_layout()
end
get '/' do
haml :home # with proper layout
end
end #Class Orca
Run Code Online (Sandbox Code Playgroud) 我有一个rails应用程序,使用omniauth通过Facebook验证访问者.
当您在Facebook上注册应用程序时,您必须注册一个回调URL,一旦完成身份验证过程,他们将重定向到该回调URL.
由于我的生产站点托管在与我的开发环境不同的服务器上,因此我需要在Facebook上注册2个不同的URL.我通过注册两个应用程序,即实时版本和开发版本来完成此操作.
当然,我有两个app_ids和两个app_secrets,我的Rails应用程序需要使用它们.
如何将OmniAuth设置为在开发环境中使用一组密钥而在生产环境中使用另一组密钥?
我试图在我的/ config/environments目录中设置我的密钥,如下所示:
# development.rb
SampleApp::Application.configure do
config.omniauth_keys.facebook.app_id = "32423423"
config.omniauth_keys.facebook.api_key = "324234324234324"
config.omniauth_keys.facebook.app_secret = "242343424234324324234324"
end
# production.rb
SampleApp::Application.configure do
config.omniauth_keys.facebook.app_id = "7657566"
config.omniauth_keys.facebook.api_key = "7756765765756757"
config.omniauth_keys.facebook.app_secret = "65756767567567567757"
end
Run Code Online (Sandbox Code Playgroud)
然后在/config/initializers/omniauth.rb中
Rails.application.config.middleware.use OmniAuth::Builder do
keys = SampleApp::Application.config.omniauth_keys
# ==> OmniAuth Provider Credentials
# APP_ID SECRET_ID
provider :facebook, keys.facebook.app_id, keys.facebook.app_secret
end
Run Code Online (Sandbox Code Playgroud)
但我明白了
`method_missing': undefined method `omniauth_keys'
Run Code Online (Sandbox Code Playgroud)
当我尝试启动开发服务器时,我猜是因为在/ emvironments/*之前加载了omniauth.rb?
我怎么设置它?
编辑:这是一个更详细的错误消息
=> Booting WEBrick
=> Rails 3.0.4 application starting in development on http://0.0.0.0:3000
=> Call with …Run Code Online (Sandbox Code Playgroud) 在我的Mac OS X 10.5(Leopard)机器上,我使用Google Code中的git-OSX-Installer安装了Git 1.6.0.2 .安装程序将Git安装到/ usr/local/Git.
我现在想跟上最新稳定的Git版本(Master分支),目前是1.6.0.3.
我可以在/ usr/local/Git目录中运行"git clone git://git.kernel.org/pub/scm/git/git.git",然后使用XCode运行配置/生成/安装,或者不会工作?
基本上我正在寻找最佳实践,以保持Git更新到最新的稳定版本.
我正在开发一个 Ruby 编程教程,我想用Yard记录它。默认情况下,Yard 将模块/类中的所有方法按字母顺序排列。但是,由于本教程中每个模块中的方法都是建立在彼此之上的,因此我希望按照我编写它们的顺序保留它们。
有没有办法将 Yard 配置为不按字母顺序放置方法?
我想签出,然后根据需要更新Mac OS X Leopard 10.5.5机器上的Django Subversion主干.
我只对在Mac上更新Django代码感兴趣.我对为Django项目提供补丁不感兴趣.我不需要Django主干的Subversion历史记录.
我计划将Git用作我所有个人项目的DVCS/SCM.
使用最新的Django主干保持我的Mac更新的最佳做法是什么?为什么?
我是Git的新手,所以理解为什么选择你的选项会非常有帮助.
使用我的Mac上安装的Subversion 1.4.4:svn co http://code.djangoproject.com/svn/django/trunk/.基本上使用Subversion为我的个人项目获取Subversion repos和Git.
使用Git SVN获取Django Subversion repo.关于如何为Git新手做这个的说明?
在我的Rails 3应用程序中,我对iPhone和桌面浏览器有不同的布局.我正在尝试使用Cucumber/Capybara测试iPhone布局.到目前为止,我在请求的HTTP标头中设置iPhone User-Agent字符串的所有尝试都失败了.
我已经使用Cucumber和Capybara教程跟踪了测试自定义头文件和ssl,但它似乎没有在HTTP请求中设置User-Agent字符串.
如果我只是使用我的iPhone浏览我的Rails应用程序,我会得到正确的布局.我正在使用Rack-Mobile-Detect将Rails request.format设置为:iphone.
关于如何使这项工作的任何想法?我准备放弃Capybara并回到Webrat.
这是我到目前为止所拥有的:
Feature: Detect Browser
In order to have different layouts for iPhone vs. desktop browsers
As a developer
I want to show different layouts for different browsers
Scenario: Show home page with desktop layout
Given I am using "a desktop browser"
When I go to "the home page"
Then I should see "desktop browser"
Scenario: Show home page with iPhone layout
Given I am using "mobile safari" …Run Code Online (Sandbox Code Playgroud) 我刚刚开始iOS/iPhone开发,我想开始使用XCode 4而不是XCode 3.2.XCode 4的稳定/功能是否足以开始iPhone开发,还是应该坚持使用XCode 3.2?