我有rails表单,使用字段列表呈现部分以创建新用户.那些我也用来渲染编辑表单的字段.我想知道是否有可能不在编辑表单上显示特定字段(即部门),因为我不想让用户选择更改部门?
我有两个型号User和Leave
class User < ActiveRecord::Base
has_many :leaves
...
end
class Leave < ActiveRecord::Base
belongs_to :user
#attr_accessible :user_id
#default_scope -> { order('created_at DESC') }
validates :user_id, presence: true
end
Run Code Online (Sandbox Code Playgroud)
哪些是基本模型用户有许多叶子和叶子属于用户.但是,当我这样做
@leaves = @user.leaves
Run Code Online (Sandbox Code Playgroud)
在users_controller中我得到了这个奇怪的错误"未初始化的常量User :: Leafe",但我无法找到拼写错误的"离开".检查了所有迁移和shema.rb.在此代码之前,我正在调用@ leaves2 = Leave.all并且正在传递OK但是当我执行"@ user.leaves"时,它在具有NameError的控制台上打破了"500 Internal Server Error".是否可以执行错误捕获或类似的操作来查看此错误的确切位置.
同样在rails控制台中无法获取@ leaves = @ user.leaves,它以"NameError:uninitialized constant User :: Leafe"退出
我在学习 Codeschool 课程时正在做一些测试rspec,但我不知道如何使用expect语法编写模型验证是否存在。如果我写:
expect(user).should_not be_valid
Run Code Online (Sandbox Code Playgroud)
rspec告诉我使用expect而不是should_not. 但我找不到如何编写正确的表达式来检查验证。
我有一个类,在其中我有一些静态和一些非静态方法,所以当我试图从静态方法访问非静态方法时,我得到了那个着名的错误.每当我在这个论坛上搜索时,我会在有两个课程的时候得到解决方案.我的问题是如果它们在同一个类中,如何从静态方法调用非静态方法?
我正在努力
new ClassName().methodName();
Run Code Online (Sandbox Code Playgroud)
但我的方法包含发送Intent和finish(),所以如果我创建其他对象而不是完成不起作用.