我正在通过Rails for Zombies工作,喜欢有用的教程,并且对其他人感兴趣.
我的问题如下.
教程问我
"使用新语法,在一行上对Zombie的名称进行唯一性和状态验证"
我在RfZ的控制台上尝试了以下内容;
class Zombie < ActiveRecord::Base
validates_uniqueness_of :name, validates_presence_of :name
end
Run Code Online (Sandbox Code Playgroud)
// AND //
class Zombie < ActiveRecord::Base
validates Name :uniqueness, :presence => true
end
Run Code Online (Sandbox Code Playgroud)
本教程要求使用新的Rails 3语法.我理解新语法允许在一行中有多个验证参数.非常好,但我该怎么做?在此先感谢大家.
-Ryan
我可能会遗漏一些基本的东西,但我似乎无法让ActiveAdmin使用可排序的has_many通过关系,能够创建新记录.
所以给出以下模型
class User < ActiveRecord::Base
has_many :user_videos
has_many :videos, through: :user_videos
accepts_nested_attributes_for :user_videos
accepts_nested_attributes_for :videos
...
end
class UserVideo < ActiveRecord::Base
belongs_to :user
belongs_to :video
accepts_nested_attributes_for :video
end
class Video < ActiveRecord::Base
has_many :user_videos
has_many :users, through: :user_videos
...
end
Run Code Online (Sandbox Code Playgroud)
(我承认我accepts_nested_attributes_for在某种程度上可能会有所作为)
Active Admin设置就像这样(当然是WIP):
f.inputs "User" do
f.has_many :user_videos, heading: 'Videos', sortable: :order, allow_destroy: true, new_record: 'New Record' do |v|
v.inputs for: :video do |video|
video.input :video_url
end
end
f.has_many :videos, heading: 'Videos', new_record: 'New Video' do |v| …Run Code Online (Sandbox Code Playgroud)