小编Jay*_*dse的帖子

Rails迁移:删除约束

我在Rails应用程序中有一个表(在schema.rb中)看起来像:

create_table "users", :force => true do |t|
   t.string "name", :null=>false
   t.string "address", :null=>false
end
Run Code Online (Sandbox Code Playgroud)

我想写一个rails迁移来允许地址字段的空值.即迁移后,表格如下所示:

create_table "users", :force => true do |t|
   t.string "name", :null=>false
   t.string "address"
end
Run Code Online (Sandbox Code Playgroud)

删除约束我需要做什么?

ruby-on-rails database-migration

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

Amazon S3:静态网站:自定义域或子域

Amazon.com刚刚宣布可以在S3存储桶中托管静态网站.我访问了他们的设置页面http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?WebsiteHosting.html并为我的静态网站创建了一个存储桶,它工作正常.我有一个http:// [我的桶名] .s3-website-us-east-1.amazonaws.com/的形式的URL .

但是,我想将我拥有的子域(例如static.mydomain.com)指向我在Amazon S3的静态网站.有没有人想出怎么做?

我感谢你能给我的任何帮助.

subdomain dns hosting amazon-s3

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

Ansible:使用sudo权限创建用户

我接管了一台Ubuntu 14.04服务器.它有一个名为"deployer"的用户(与capistrano一起使用),因此需要sudo权限.通过此设置,我可以登录服务器并执行以下操作:

workstation> ssh deployer@myserver
myserver>  sudo apt-get install git
myserver> exit
workstation>
Run Code Online (Sandbox Code Playgroud)

我试图找出如何使用Ansible(版本2.0.2.0和python 2.7.3)来创建一个名为"deployer"的用户,并能够使用该id登录到服务器然后sudo-ish之类的事情,如"apt --get install".我的剧本看起来像这样:

---
- hosts: example
  become: yes
  tasks:
  - name: Update apt cache
    apt:
      update_cache: yes
      cache_valid_time: 3600

  - group: name=sudo state=present

  - name: Add deployer user and add it to sudo
    user: name=deployer
          state=present
          createhome=yes
    become: yes
    become_method: "sudo"

  - name: Set up authorized keys for the deployer user
    authorized_key: user=deployer key="{{item}}"
    with_file:
      - /home/jaygodse/.ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)

运行这个剧本之后,我能够以"deployer"的形式进入机器,(例如ssh deployer @ myserver)但是如果我运行sudo命令,它总是要求我输入我的sudo密码.

我理解"deployer"用户最终必须找到进入visudo用户文件的方式,但是我无法弄清楚要调用哪个神奇的Ansible咒语以便我可以作为部署者ssh进入机器然后运行sudo命令(例如sudo) apt-get install git")没有提示输入sudo密码. …

sudoers ansible-playbook

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

Rails Rake任务 - 访问模型类

我想定义一个Ruby(1.9.2)-on-Rails(3.0.5)rake任务,它将用户添加到User表中.该文件如下所示:

#lib/tasks/defaultuser.rake
require 'rake'
namespace :defaultuser do
  task :adduser do 
    u=User.new
    u.email="bob@example.com"
    u.password="password"
    u.save
    u.errors.each{|e| p e}
  end
end
Run Code Online (Sandbox Code Playgroud)

然后我会调用任务为

> rake defaultuser:adduser
Run Code Online (Sandbox Code Playgroud)

我测试了Rails控制台中的adduser任务中的代码,它运行正常.我测试了rake任务,只运行

print "defaultuser:adduser"
Run Code Online (Sandbox Code Playgroud)

在任务的主体,它工作得很好.

然而,当我把它们结合起来时,它抱怨道,说道

rake aborted!
uninitialized constant User
Run Code Online (Sandbox Code Playgroud)

我试过了

require File.expand_path('../../../app/models/user.rb', __FILE__)
Run Code Online (Sandbox Code Playgroud)

在rake文件中的命名空间定义之上,但是没有用.我有

rake aborted!
ActiveRecord::ConnectionNotEstablished
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能在Rails控制台的Rake任务中对User模型类具有相同的访问权限?

ruby-on-rails rake-task

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

Rails:WickedPDF:分页符

在我的Ruby(1.9.2)Rails(3.0.x)中,我想使用wicked_pdf将网页呈现为PDF,我想控制分页的位置.我控制分页符的CSS代码如下:

<style>
  @media print
  {
    h1 {page-break-before:always}
  }
</style>
Run Code Online (Sandbox Code Playgroud)

但是,当我使用wicked_pdf呈现页面时,它不会将文档分成两页.还有其他一些我必须要做的事情才能使用wicked_pdf获取分页符吗?

pdf ruby-on-rails page-break

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

如何将7-zip自解压存档静默安装到特定目录?

红宝石的devkit是7-ZIP基于自解压压缩包.

我想静静地调用它,而不必安装7-Zip将文件解压缩到我选择的文件夹,这样我就可以编写安装脚本.我想它是这样的:

cmd> DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe /silent /dir="C:\DevKit"
Run Code Online (Sandbox Code Playgroud)

但是,这当然不起作用.我必须使用哪些命令行标志来静默地将此存档提取到我选择的文件夹中?

command-line 7zip self-extracting

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

Paypal网站付款标准与Ruby/Rails应用程序

我想使用Paypal网站付款标准在我的Rails网站上实施付款解决方案.(参见https://www.paypal.com/IntegrationCenter/ic_standard_home.html).我不想要花哨的网关,我也不想经历与存储信用卡信息相关的麻烦.我还想使用Paypal IPN进行通知.

我查看了各种网站,如http://www.fortytwo.gr/blog/14/Using-Paypal-with-Rails,我太便宜了,无法在http://railskits.com/saas上试用Rails Kits /.

有没有人知道一个工作的开源Rails应用程序,它使用Paypal网站支付标准进行计费,你能指出我的代码吗?

此外,我的业务在加拿大,但服务器在美国.我必须注册Paypal.com或paypal.ca吗?

ruby paypal ruby-on-rails

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

Rails 3对比Sinatra

对于我的下一个Web应用程序,我正在讨论是否使用Rails 3.x或Sinatra.

我想使用服务器提供用户身份验证,应用程序触发的电子邮件,相当复杂的数据模型(在ActiveRecord后面),以及与Web客户端的JSON数据接口.客户端将使用静态HTML,静态CSS,Javascript/jQuery将JSON数据呈现到视图中.用于呈现视图的"策略"将由Javascript代码和一些JSON数据驱动.我不打算使用任何动态视图技术,如ERB,HAML或RJS.

使用Sinatra或Rails 3.x会更好吗?

在做出决定之前,我还应该问其他问题吗?

json ruby-on-rails sinatra

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

如何使在Amazon S3上托管的图像不那么公开但不完全私有?

我启动了一个使用Amazon S3进行图像托管的示例应用程序.我设法哄它上班.该应用程序在github.com上托管.该应用程序允许您使用个人资料照片创建用户.上传照片时,Web应用程序将其存储在Amazon S3而不是本地文件系统上.(如果你在heroku.com上主持,非常重要)

但是,当我在页面的浏览器中执行"查看源"时,我注意到图片的URL是我分配给应用程序的S3存储桶中的Amazon S3 URL.我剪切并粘贴了URL,并且能够在同一浏览器中查看图片,并且在另一个浏览器中,我没有打开会话到我的网络应用程序或亚马逊S3.

有没有什么方法可以限制对该URL(和图像)的访问,以便只有登录到我的应用程序的浏览器才能访问它?

我发现的有关亚马逊ACL的大多数信息仅涉及只有所有者或通过亚马逊或AmazonS3认证的用户组或匿名访问者的访问权限.

编辑----更新2010年7月7日

亚马逊刚刚宣布了更多限制访问S3对象和存储桶的方法.除了其他方法之外,您现在可以通过限定HTTP引用来限制对S3对象的访问.这看起来很有趣......我不能等到他们更新他们的开发者文档.

ruby acl private heroku amazon-s3

15
推荐指数
3
解决办法
6837
查看次数

如何手动运行Sidekiq作业

我有一个使用Sidekiq的应用程序.Web服务器进程有时会将工作放在Sidekiq上,但我不一定会让工作者运行.是否有一个可以从Rails控制台调用的实用程序,它可以从Redis队列中取出一个作业并运行相应的Sidekiq工作程序?

ruby-on-rails-3 sidekiq

15
推荐指数
2
解决办法
6479
查看次数