我在Ruby on Rails中使用进行在线购买。其中一种状态是用户在表单中填写账单信息。此表单是必需的,因此我在转换到下一个状态时对其进行验证,如下所示:
state :confirm do
validates_presence_of :name, :email
end
其中表单在状态:info上,下一个是:confirm。
这可以很好地工作:如果缺少任何字段,state_machine将不会转换到下一个状态。但是,当验证返回false时,我找不到有关如何显示错误通知的信息。我希望在验证失败时显示一条消息,并重定向到窗体状态。提前感谢您的帮助!
我刚刚将我的rails升级到了2.3.4,我通过验证注意到了这一点:假设我有一个简单的模型公司,它有一个名字。没什么大不了的。我想运行我自己的验证:
class Company < ActiveRecord::Base
validate :something
def something
false
end
end
在这种情况下,保存模型实际上是可行的。如果我重写validate()并返回false,也会发生同样的事情。我在一个更复杂的模型中注意到了这一点,在这个模型中,我的验证返回了false,但对象仍然在保存……我在一个基本上为空的模型中尝试了这一点,同样的
我在我的应用程序中使用“Rails Admin”。在我的初始化器中,‘rails_admin.rb’中有以下内容:
config.model "Player" do
edit do
:name
:team
:shooting_percentage
end
end
这在Rails Admin的编辑视图中显示了以下字段:姓名、团队和投篮百分比。
我想在Rails Admin for Player的编辑表单中添加两个字段,但我不想将它们作为该模型(或任何模型)的属性。我想添加射击,并作为表单字段的目标。
我想添加这两个表单字段的原因是,我可以使用它们
我有一个表格,是通过jQuery AJAX提交的…
该模型有一个字段的validates_presence_of,如果该字段为空,rails将通过XHR :role_idNot Defined.返回
我通过执行以下操作来学习如何自定义:
validates_presence_of(:role_id, :message=> "Select a role to continue.")
但这会让:role_IDSelecta的角色继续下去。所以我发现了这个可能会有帮助,IDK:
<% errors.each do |attribute, message| -%>
是否有任何用于rails的gem/插件,可以在运行时在模型中定义自定义字段,而不需要为每个不同的字段更改模型本身。
我正在寻找类似红矿山插件的东西,它被打包成一个可用于rails的宝石,即
gem 'gemname'
rails g something
rails db:migrate
class Model < ActiveRecord::Base
acts_as_something
end
以下是红矿山中使用的和类。
编辑:
由于我的问题不清楚,我添加了一个简短的用例,更好地解释了我的需要:
我希望用户能够设计自己的表单,并收集在这些表单上提交的数据。一个重要