小编Chr*_*ini的帖子

datetime_select的多参数错误

我的表单中有以下代码.

<%= f.datetime_select(:date_time, :prompt => {:day => 'Day', :month => 'Month', :year => 'Year'}, :start_year => Date.today.year, :end_year => Date.today.year + 2, :minute_step => 15, :include_blank => false) %> if either one is blank.
Run Code Online (Sandbox Code Playgroud)

当其中一个字段留空时,我得到:

1 error(s) on assignment of multiparameter attributes
Run Code Online (Sandbox Code Playgroud)

正在传递的参数是:

{"utf8"=>"?",
 "authenticity_token"=>"kQpfsj5RxnDtxkvBdwPEFnX1fY6euKnMQeDRAkvJvIE=",
 "event"=>{"description"=>"",
 "venue"=>"",
 "street"=>"",
 "city"=>"",
 "country_id"=>"",
 "date_time(1i)"=>"",
 "date_time(2i)"=>"",
 "date_time(3i)"=>"",
 "date_time(4i)"=>"00",
 "date_time(5i)"=>"00",
 "ticket_url"=>""},
 "x"=>"94",
 "y"=>"12"}
Run Code Online (Sandbox Code Playgroud)

有人知道为什么会这样吗?

在这个链接上似乎有一个"脏"修复,但也许在Rails 3中有一个更好的解决方案?

postgresql ruby-on-rails

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

Rails:为什么不能在where子句中将关联设置为nil?

我有照片属于收藏和用户.照片始终属于用户,但可能未分配给集合.

在我的控制器中,这完美地工作:

@collection_photos = Photo.where( :collection => @collection, :user => current_user )
Run Code Online (Sandbox Code Playgroud)

但是,这失败了......

@other_photos = Photo.where( :collection => nil, :user => current_user )
Run Code Online (Sandbox Code Playgroud)

......但这有效:

@other_photos = Photo.where( :collection_id => nil, :user => current_user )
Run Code Online (Sandbox Code Playgroud)

当集合设置为nil时,我收到以下错误消息:No attribute named 'collection' exists for table photos.

如果我传递一个对象,它知道collection_id从符号中搜索:collection,但如果我没有传递一个对象,它似乎并不知道该关联.

我理解正确吗?任何人都可以解释一下为什么:collection=>nil不起作用?

activerecord ruby-on-rails where ruby-on-rails-3

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

为什么没有为我的ActiveRecord模型调用before_save?

当我使用IRB创建一个新的模型实例并保存时,没有任何东西打印到控制台,我得到一个"ActiveRecord :: StatementInvalid:Mysql :: Error:Column'user_id'不能为null"错误,所以我假设before_save不是被叫.我无法弄清楚为什么.我甚至尝试过使用before_save过滤器.这是我的代码:

require 'secure_resource/secure_resource_encryption'

class Database < ActiveRecord::Base
  belongs_to :username_encryption, :class_name => "Encryption", :foreign_key => :username_encryption_id
  belongs_to :password_encryption, :class_name => "Encryption", :foreign_key => :password_encryption_id

  # Virtual attribute to retrieve the decrypted username.
  def username
    if self.username_encryption.nil?
      return nil
    end

    begin
      return self.username_encryption.encryption
    rescue SecureResourceError
      raise SecureResourceError
    end
  end

  # Provides a way to reset the username.
  def username=(username)
    if self.username_encryption.nil?
      self.username_encryption = Encryption.new
      self.username_encryption.encryption = username
    end
  end

  # Virtual attribute to retrieve the decrypted password.
  def …
Run Code Online (Sandbox Code Playgroud)

validation activerecord ruby-on-rails callback

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

如何看待RDS数据库中存储的数据?

在Amazon RDS上运行我们的应用程序.如何审查/检查数据库中的数据?例如,我如何获得列表articles

我的应用程序运行在Ruby on Rails和Heroku上.我想到的一种方法是运行Heroku控制台命令.

有没有更好的方法来查看RDS数据库中存储的数据?

mysql amazon-web-services amazon-rds ruby-on-rails-3

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

如何将数组存储到cookie中?

如何将多数组类型的数据存储到cookie中.

例如: [[1, 'foo'], [2, 'bar'], [3, 'foobar']]

我可以使用单维数组来实现它:

cookies[:foobar] = { :value => cookies[:foobar] << ",1" }
Run Code Online (Sandbox Code Playgroud)

然后呢

cookies[:foobar].split(',').include?("1")
Run Code Online (Sandbox Code Playgroud)

验证1cookie中是否存在.我不太确定如何使用多维数组来解决这个问题

cookies ruby-on-rails-3

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

您何时将应用程序升级到Rails 3?

现在Rails 3测试版就在这里,让我们进行一些小问题.

请简要告诉我们您的应用程序的功能以及何时将其升级到Rails 3.或者,如果您不打算很快升级,请告诉我们什么阻止了您.

ruby-on-rails ruby-on-rails-3 rails-3-upgrade

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

是否有可能在所有浏览器中实现行高一致性?

是否有可能在所有浏览器中实现行高一致性?

我附上了一张图片.你会注意到一个红色的矩形框和一个绿色的矩形框(两者都有相同的宽度和高度),我手动通过photoshop添加,以帮助显示虚线(红色框下方)和"粉丝:3197179"文字.

似乎Firefox是唯一一个以不同方式显示元素的人.当我应用行高时,我会注意到这一点.我可以用任何方式使其与所有浏览器保持一致吗?

我使用的是Firefox 3.6.13,Safari 5.0.3,Opera 10.63和Chrome 8.0.552.231.

.clearfix,
.container {
  display: block;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

li {
  position: relative;
  margin: 0 0 0 0;
  padding: 12px 0;
  border-bottom: 1px dotted #E7E7E7;
}

li img {
  float: left;
  margin-top: 0;
}

li p {
  margin: 0 0 0 58px;
  padding: 0;
  font-weight: normal;
  border: none;
  font-size: 1em;
  line-height: 1.3em;
}

li p.name {
  position: relative;
  padding-top: 0;
  font-size: 1.1em;
  font-weight: bold;
}
Run Code Online (Sandbox Code Playgroud)
<ul> …
Run Code Online (Sandbox Code Playgroud)

html css

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

无法在Safari和Chrome中克隆文件输入元素.FF和Opera都行

这很奇怪.我有一个简单的表格.我这个表单之外有一个文件输入元素.

用户单击文件输入元素并选择一个文件.我使用以下代码克隆文件输入:

$('input[name="song[attachment]"]').clone(true).appendTo('form')
Run Code Online (Sandbox Code Playgroud)

在所有浏览器中:FF,Opera,Safari,Chrome,当我检查表单元素时,我在表单中看到了克隆的文件输入元素.但是,当我在FF和Opera中提交表单时,它可以工作.Safari和Chrome使用空文件输入提交表单.

我注意到克隆文件输入元素并将其附加到表单元素时,它不会复制其值.它只克隆一个空的输入文件元素.这是正常的吗?

我的Jquery代码有问题吗?或者这是一个安全问题,这就是为什么Safari和Chrome不允许我这样做的原因?如果是后者,为什么FF和Opera会这样做呢?

jquery cross-browser

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

上传的解剖

我想知道上传中等大小文件的一般共识是什么.我有一个Web应用程序,每次用户上传文件(通常大于5mb)时,Web服务器都会挂起,直到文件上传完成.

以上看似乎很正常,因为单个上传可以占用单个HTTP请求处理程序.网络开发人员是否考虑到这一点,并且:

a)支付更多HTTP处理程序

b)使用其他方法通过使用AJAX或其他方法来克服这个问题

我听说网络应用程序有一些HTTP请求处理程序来处理这个问题是很正常的,这将花费更多.另一方面,如果成本是一个问题,那么有些人建议尝试直接通过Flash + AJAX直接上传到Web服务器或存储服务(即Amazon S3).后一种方法需要一些脚本,并且有点混乱.

我的第二个问题:

通过使用ajax将文件上载到服务器上.这仍然占用整个HTTP请求处理程序吗?即服务器是否挂起,直到上传完成?

即使使用闪存,我仍然需要指定要上传的网址.该url将是我的控制器上的操作之一.这意味着处理仍然发生在服务器端.到目前为止这是对的吗?

我刚在想.另一方面,如果我使用其中一个上传脚本(plupload,uploadify,swfupload等)直接上传到Amazon S3,则处理将在S3服务器而不是本地Web服务器上处理.哪个不会挂起网络应用程序.我理解正确吗?

想听听您的反馈意见.

javascript ruby-on-rails

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

我在哪里可以找到Rspec + Capybara'入门'指南?

我一直想进入测试阶段.在阅读了几个测试框架(test :: unit,Rspec等)之后.我决定试试Rspec和Capybara.

我想了解经验丰富的开发人员如何正确使用这些库.这反过来将帮助我编写更好的应用程序代码,并在应用程序的最小裂缝中发现错误或小错误.

接近这个总TDD nooby.您遇到过哪些在线资源来帮助您了解Rspec + Capybara.我找到了这个Railscast,这是一个很好的起点.我还应该阅读其他任何资料/文章吗?

我遇到了Rspec Book,这对Rspec非常有用,但更多关于Cucumber的例子.

另外,我怎样才能找到Capybara的所有可用功能.即fill_in,click_link等.Github 页面提到了一些,但不是全部.

testing tdd rspec capybara ruby-on-rails-3

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