小编San*_*jay的帖子

在Rails 3中,当我不尝试更新密码时,如何跳过密码字段的验证?

我的用户模型包含:name,:email和:password字段.所有3个都有长度验证."更新帐户"网页允许用户更新其姓名和电子邮件地址,但不能更新密码.提交时,params [:user]是

{"name"=>"Joe User", "email"=>"user@example.com"}
Run Code Online (Sandbox Code Playgroud)

请注意,没有"密码"键,因为表单不包含此类输入字段.

我打电话的时候

@user.update_attributes(params[:user])
Run Code Online (Sandbox Code Playgroud)

密码验证失败.但是,由于我没有尝试更新密码,因此我不希望密码验证在此更新上运行.当params [:user]不包含"密码"键时,我很困惑为什么密码验证正在运行.

请注意,我希望在其他地方有一个单独的网页,允许用户更新他的密码.对于该提交,密码验证应该运行.

谢谢.

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

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

在Rails中,在模型中存储多个布尔属性的最佳方法是什么?

我有一个模型House,有许多布尔属性,如has_fireplace,has_basement,has_garage,等. House有大约30个这样的布尔属性.构建此模型以实现高效数据库存储和搜索的最佳方法是什么?

我想最终搜索所有Houses有壁炉和车库的东西.

我想,天真的方法是在模型中简单地添加30个布尔属性,每个属性对应于数据库中的一列,但我很好奇是否有一个我不知道的Rails最佳实践.

ruby-on-rails

16
推荐指数
3
解决办法
2376
查看次数

构建多页表单以在数据库中创建和编辑模型的最佳方法是什么?

我是Rails的新手.

在Rails中设计/构建多页表单的最佳方法是什么?我希望表单在提交表单的第一页时立即在数据库中创建新记录,并且表单的每个后续页面都要在数据库中更新该记录.

我希望在提交第一页之后立即创建记录的原因是,可以存在用户稍后返回完成的未完成记录的概念.

一旦创建,我想允许用户通过直接转到该部分来编辑模型的任何部分.

我知道足够的Rails如果你指导我从概念上构建这个概念的最佳方法,我应该能够自己弄清楚代码.

谢谢.

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

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

安装JQuery时,为什么我的"删除"链接会中断?

我有一个Rails 3应用程序,可以创建和删除产品.索引页面列出了所有产品.列表中每个产品旁边都有一个删除链接:

<%= link_to "Delete", product, :method => :delete, :title => "Delete" %>
Run Code Online (Sandbox Code Playgroud)

这在HTML中看起来像这样:

<a href="/products/104" data-method="delete" rel="nofollow" title="Delete">Delete</a>
Run Code Online (Sandbox Code Playgroud)

这一直很好.

我已经达到了我想在我的应用程序中安装JQuery的程度.我按照几个网页上提供的步骤(例如,这个这个).

安装JQuery后,上面的"删除"链接中断.Rails尝试处理destroy动作,而不是处理动作!ProductsControllershow

我的猜测是它与Web浏览器本身不能发送DELETE请求这一事实有关,因此Rails使用JavaScript"伪造"这样的请求,这就是为什么我尝试安装JQuery 之前有以下行:

<%= javascript_include_tag :defaults %>
Run Code Online (Sandbox Code Playgroud)

编辑:在JQuery安装期间的某些事情必须使得用于"伪造" DELETE请求的Javascript 不再起作用,从而导致show调用该操作.但究竟发生了什么我不知道......

有人有主意吗?谢谢.

jquery ruby-on-rails-3

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

标签 统计

ruby-on-rails ×3

ruby-on-rails-3 ×3

jquery ×1