我想为颜色创建一个选择列表,但不想为颜色创建一个表.我在任何地方都看过它,但在谷歌上找不到它.
我的问题是:如何在没有数据库表的情况下将颜色放在模型中?
或者有更好的轨道方式来做到这一点?
我见过有人直接在模型中放入数组或哈希,但现在我找不到了.
这出现了一段时间(在db中没有相应列的rails模型属性)但是看起来没有提到所提到的Rails插件(http://agilewebdevelopment.com/plugins/activerecord_base_without_table).有没有办法用ActiveRecord这样做?
如果没有,有没有办法在不使用ActiveRecord的情况下获得ActiveRecord验证规则?
当然,ActiveRecord希望表存在.
我目前正在尝试在没有ActiveRecord::Base继承的情况下验证字段.
我的模型将数据存储在缓存服务器上,因此我不需要ActiveRecord.
无论如何,我想像我使用ActiveRecord(例如validates_numericality_of :quantity, :greater_than => 0)那样验证模型的字段?
我怎样才能做到这一点?
非常感谢您的帮助.
我一直在寻找一个简单的Ruby输入验证库.一切似乎都指向ActiveRecord(或类似的).我没有使用Rails,我在没有ORM的情况下使用Sinatra.验证用户输入的最佳方法是什么(不直接与模型层绑定)?简单的事情,如"字符串长度","是数字"等.最好有一个很好的机制来声明错误消息.
我的应用程序不需要任何数据库后端,因为它是客户端和另一台服务器之间的代理服务器.
但我发现在我的项目中拥有所有Active Record工具(验证,关联等)会很好.
如何设置Active Record根本不使用数据库?
Ryan Bates在219演员"活跃模型"中仅描述了验证部分,但我需要协会设施.
在Ruby on Rails中创建模型的最佳方法是什么?在数据库表中没有底层实现?编写在特定问题域上执行行为的类是很常见的,但可以使用ActiveRecord具有的一些好处,例如验证.
最好将其创建为模块或帮助程序吗?这里的最佳做法是什么?
<% form_ tag user_path(@user), :method => :put do %>
Run Code Online (Sandbox Code Playgroud)
这是我的表单,所以我希望它访问我的UsersController的更新方法,我设置了map.resources:users,以及生成的RESTful路径:
users GET /users(.:format) {:action=>"index", :controller=>"users"}
POST /users(.:format) {:action=>"create",:controller=>"users"}
new_ user GET /users/new(.:format) {:action=>"new", :controller=>"users"}
edit_user GET /users/:id/edit(.:format) {:action=>"edit", :controller=>"users"}
user GET /users/:id(.:format) {:action=>"show", :controller=>"users"}
PUT /users/:id(.:format) {:action=>"update", :controller=>"users"}
DELETE /users/:id(.:format) {:action=>"destroy", :controller=>"users"}
Run Code Online (Sandbox Code Playgroud)
所以我尝试使用PUT HTTP方法发送到user_path(@user),它返回:
Unknown action
No action responded to 1. Actions: create, destroy, edit, index, logged?, new, show and update
Run Code Online (Sandbox Code Playgroud)
显然我不知道如何做这项工作,所以提前谢谢.
我正在使用Ruby on Rails 3.0.9,我计划在我的应用程序中添加一个简单的"联系我们"表单,以便用户可以联系我们的团队.为此,我想运行验证和"朋友"功能和(以避免自己实现)和使用第三方软件,但...
...你建议使用什么宝石(或插件)?对于这种事情,最广泛"批准"的宝石是什么?
当然我想在"积极开发"中使用gem(也就是说,它的开发人员是活跃的).