我正在跟踪迈克尔·哈特尔的Rails教程,我正在测试sample_app.In rails控制台中是否存在姓名和电子邮件,我正在运行
user = User.new(:email => "user@example.com")
测试一个缺失的名称值,但我得到了回报;
attr_accessible is extracted out of Rails into a gem.
Please use new recommended protection model for params(strong_parameters)
or add 'protected_attrib
Rails中有许多关于模型之间关系的示例,但它们似乎都遗漏了模型的attr_accessible部分。
我正在寻找关于attr_accessible的一些最佳实践,我发现了一些相互矛盾的建议。我可以/应该:
--是否将外键放入attr_accessible?
Class Post
attr_accessible :name, :user_id
belongs_to :user
end
Class User
attr_accessible :first, :last
has_many :posts
end
--将完整的模型放入attr_accessible?
Class Po
假设我有一个模型"Channel“(当然是一个布尔属性):
class Channel < ActiveRecord::Base
attr_accessible :title
attr_accessible :course, :title, :as => :administrator
end
我正在使用带有以下能力设置的cancan:
class Ability
include CanCan::Ability
def initialize(user)
if user
if user.administrator
can :
我是rails的新手,我正在尝试创建一个用户登录。我通过教程找到了。最后,它让我为批量分配添加了"attr_accessible“。然而,当我这样做时,我得到了以下错误:
undefined method `attr_accessible' for #<Class:0x007ff70f276010>
我在这个上看到我需要< ActiveRecord::Base。但我已经把它包括在内了。下面是我的用户模型的代码:
class User < ActiveRecord::Base
attr_accessor :password
EMAIL_REGEX
当我使用Rails引擎,并希望覆盖和添加它的行为时,我遇到了以下问题:
假设引擎有一个名为ActiveRecord的课程模型
module MyEngine
class Course < ActiveRecord::Base
attr_accessible :name, :description, :price
end
end
我想在我的主Rails应用程序中创建一个迁移,向其中添加一个列,我需要将该新列添加到attr_accessible中(以便可以对其进行批量分配)
MyEngine::Course.class_eval do
attr_accessible
在rails 3.1下,如果我创建一个新的rails项目,并搭建一个新的资源,如下所示:
rails g scaffold User name:string email:string
默认情况下,创建操作将如下所示:
def create
@user = User.new(params[:user])
respond_to do |format|
if @user.save
...
else
...
end
end
end
我想知道的是,既然在用户模型中没有定义attr_accessible,那么如果我将表单发布到这个操作中,为什么这
我使用Rails 4.1.1、ruby2.1、mongodb、mongoid作为包装器,使用rails_admin创建管理接口。
我知道'attr_accessible‘不再适用于Rails4了。所以我已经安装了'protected_attributes‘创业板.,但是仍然没有成功,我仍然在我的控制台中收到警告
[RailsAdmin] Could not load model Company, assuming model is non existing. (undefined method `attr_accessible' for Company:Class)
因
可能在这里做了一些愚蠢的事情,但这是我的基本曲奇切割器类:
class League < ActiveRecord::Base
private
def league_params
params.require(:full_name).permit!
end
end
在创建新的联盟实例时:
2.0.0-p0 :001 > l = League.new(full_name: 'foo', short_name: 'bar')
WARNING: Can't mass-assign protecte
我正在做单播rails,attr_accessible函数出现了问题。我已经在rails 4(gem 'protected_attributes')中安装了它,并将其与simple_form一起使用。
但问题是,当我用名字更新我的表单时,它就不记得了!但是它说它成功地更新了??
这是我的user.rb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :
我正在试着写一个日期验证器。我遇到的问题是,我的验证器将date_of_birth视为一个Date对象,但它被设置为一个字符串。(1)为什么在应用验证之前它会将其视为日期而不是字符串;(2)我应该做些什么才能让它将其读取为字符串而不是日期。我遇到的问题是,我想接受%m/%d/%Y日期,但当我输入07/ 05 /2010时,我将其转换为日期,其中05作为月份,07作为日期。我使用的是Devise,所以我不确定它是否对控制器中的日期做了什么,我对此表示怀疑。
class User < ActiveRecord::Base
devise :database_authenticatable,