我添加了一张我认为我需要的表格,但现在不再计划使用它了.我该如何删除该表?
我已经运行了迁移,因此该表位于我的数据库中.我认为rails generate migration应该能够解决这个问题,但我还没弄清楚怎么做.
我试过了:
rails generate migration drop_tablename
Run Code Online (Sandbox Code Playgroud)
但那只是一个空的迁移.
在Rails中删除表的"官方"方法是什么?
我想在Rails中"伪造"一个404页面.在PHP中,我只是发送带有错误代码的标头:
header("HTTP/1.0 404 Not Found");
Run Code Online (Sandbox Code Playgroud)
如何用Rails完成?
我在尝试mysql2为Rails 安装gem 时遇到了一些问题.当我尝试通过运行安装它bundle install或gem install mysql2它给我以下错误:
安装mysql2时出错:错误:无法构建gem原生扩展.
我该如何修复并成功安装mysql2?
当我加载时script/console,有时我想要使用控制器的输出或视图助手方法.
有办法:
我正在使用Rails创建一个新的Web应用程序,并且想知道,string和之间有什么区别text?什么时候应该使用?
如何在ActiveRecord中设置默认值?
我看到Pratik的一篇文章描述了一段丑陋,复杂的代码:http://m.onkey.org/2007/7/24/how-to-set-default-values-in-your-model
class Item < ActiveRecord::Base
def initialize_with_defaults(attrs = nil, &block)
initialize_without_defaults(attrs) do
setter = lambda { |key, value| self.send("#{key.to_s}=", value) unless
!attrs.nil? && attrs.keys.map(&:to_s).include?(key.to_s) }
setter.call('scheduler_type', 'hotseat')
yield self if block_given?
end
end
alias_method_chain :initialize, :defaults
end
Run Code Online (Sandbox Code Playgroud)
我已经看到以下示例谷歌搜索:
def initialize
super
self.status = ACTIVE unless self.status
end
Run Code Online (Sandbox Code Playgroud)
和
def after_initialize
return unless new_record?
self.status = ACTIVE
end
Run Code Online (Sandbox Code Playgroud)
我也看到人们把它放在他们的迁移中,但我宁愿看到它在模型代码中定义.
是否有规范方法为ActiveRecord模型中的字段设置默认值?
我想制作一个activerecord记录的副本,更改进程中的单个字段(除了id).实现这一目标的最简单方法是什么?
我意识到我可以创建一个新记录,然后遍历每个字段逐个复制数据 - 但我认为必须有一个更简单的方法来做到这一点......
如:
@newrecord=Record.copy(:id) *perhaps?*
Run Code Online (Sandbox Code Playgroud) 根据我的经验,在编程时获得正确的日期/时间总是充满危险和困难.
如果仅仅由于绝大多数的选择,Ruby和Rails总是在这个问题上找不到我; 我从来不知道应该选哪个.
当我使用Rails并查看ActiveRecord数据类型时,我可以找到以下内容
:datetime,:timestamp,:time和:date
并且不知道差异是什么或者潜伏在哪里.
有什么不同?你用它们做什么的?
(PS我正在使用Rails3)
我在命名时很糟糕,并且意识到我的Rails应用程序中的模型有更好的名称.
有没有办法使用迁移来重命名模型及其相应的表?
我在哪里可以找到可以在Ruby on Rails 4中使用的数据类型列表?如
text string integer float date 我一直在学习新的,我很想有一个我可以轻易参考的清单.