小编Sam*_*cey的帖子

多个验证Rails 3(Zombies的Rails; 2:3)

我正在通过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

ruby-on-rails

7
推荐指数
2
解决办法
7504
查看次数

ActiveAdmin/Formtastic可以通过关系进行排序

我可能会遗漏一些基本的东西,但我似乎无法让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)

ruby-on-rails formtastic activeadmin

5
推荐指数
1
解决办法
799
查看次数

标签 统计

ruby-on-rails ×2

activeadmin ×1

formtastic ×1