Tag: 的Ruby on 轨道

栏杆是否与弦乐的“人性化”相反?

Rails为string添加了一个humanize()方法,其工作方式如下(来自Rails RDoc): "employee_salary".humanize # => "Employee salary" "author_id".humanize # => "Author" 我想走另一条路 我有一个“漂亮”的input,我想“非人性化”写入模型的属性: "Employee salary" # => employee_salary "Some Title: Sub-title" # => some_title_sub_title 铁轨是否包含这方面的帮助? 更新 在此期间,我将以下内容添加到app / controllers / application_controller.rb: class String def dehumanize self.downcase.squish.gsub( /\s/, '_' ) end end 有没有更好的地方呢? 解 谢谢, fd , 链接 。 我已经实施了推荐的解决scheme。 在我的config / initializers / infections.rb中,我在结尾添加了以下内容: module […]

更新一列,所有行

我添加了一个新的列到我的表,但我忘了添加:默认选项。 现在我想在每一行填充该列。 有没有办法使用控制台? 我在过去的一个小时里一直在search谷歌,但是我找不到任何东西。 我知道如何做一个单一的对象,但不是所有的模型。 Foo.find(1).update_attribute(:myattribute,'value')

ruby将string类名转换为实际的类

如何从包含该类名称的string中调用一个类? (我想我可以做案例/但是看起来很丑陋。) 我问的原因是因为我正在使用acts_as_commentable插件等等,并且这些将commentable_type存储为列。 我希望能够调用任何特殊的可评论的类来做一个find(commentable_id)就可以了。 谢谢。

Rails text_area大小

我有一个text_area内的一个fields_for ,这是一个form_for 。 <%= day_form.text_area :hatch %> 是否有可能改变text_area的大小? 例如: day_form.text_area size: 5 。

错误'安全警告:提供给Rack :: Session :: Cookie的秘密选项'

可能重复: 没有提供给Rack :: Session :: Cookie警告的秘密选项? 在创build脚手架时,我今天得到了这个错误: 安全警告:没有提供给Rack :: Session :: Cookie的秘密选项。 这构成安全威胁。 强烈build议您提供一个秘密,以防止从制作的cookie中获得可能的漏洞利用。 这在Rack的未来版本中将不被支持,未来的版本甚至会使您现有的用户cookies失效。 但是关键是在config/initializers/secret_token.rb 。 我应该做什么,或者这只是一个标准的警告,我可以放心地忽略,因为我已经有了钥匙?

需要在Rails中返回JSON格式的404错误

我有一个正常的HTML前端和JSON API在我的Rails应用程序。 现在,如果有人调用/api/not_existent_method.json它将返回默认的HTML 404页面。 有没有什么办法可以把这个改成像{"error": "not_found"}同时保持HTML前端原来的404页面不变?

诊断缓慢视图呈现的原因

我不知道什么时候开始,但是在我的应用程序中发生了一些不寻常的事情(在开发机器上本地运行)。 突然间我看到如下消息: Started GET "/" for 127.0.0.1 at 2013-03-10 12:10:24 +1300 Processing by PagesController#home as HTML Rendered pages/home.html.erb within layouts/application (2.4ms) Completed 200 OK in 3242ms (Views: 3241.4ms | ActiveRecord: 0.0ms) 正如你可以看到3秒加载主页(一个相对简单的页面)…我们不是说硬重新加载..只需再次从另一个页面点击“家庭”链接。 不知道从哪里开始,但这是我的application.rb: #config/boot.rb is loaded require File.expand_path('../boot', __FILE__) require 'rails/all' if defined?(Bundler) Bundler.require(*Rails.groups(:assets => %w(development test))) end module Goodsounds class Application < Rails::Application config.encoding […]

改变密码后自动注销

在devise中,如果我更改用户的密码,并在数据库中更新后,网站立即注销用户。 我不想要这种行为 – 我该怎么做。 请帮忙。

如何检测模型的属性更改?

我想在保存模型后执行的rails中创build一个callback函数。 我有这个模型,声称有一个属性“状态”根据索赔的状态而变化,可能的值是悬而未决,认可,批准,拒绝 数据库具有“状态”,其默认值为“挂起”。 我想在第一次创build模型之后执行某些任务,或者从一个状态更新到另一个状态,具体取决于它从哪个状态转换而来。 我的想法是在模型中有一个function: after_save :check_state def check_state # if status changed from nil to pending (created) do this # if status changed from pending to approved performthistask end 我的问题是如何检查模型内的更改前的以前的值?

Rails:臭名昭着的“current_user”来自哪里?

最近我一直在研究Rails,注意到有很多对current_user的引用。 这只是来自devise吗? 我是否必须自己手动定义它,即使我使用Devise? 是否有使用current_user (如会话,用户等的存在)的先决条件?