我有几个简单的模型,如下所示:
楷模
class Task < ActiveRecord::Base
belongs_to :user
validates :name, :presence => true, :message => 'Name cannot be blank, Task not saved'
end
class User < ActiveRecord::Base
has_many :tasks
end
Run Code Online (Sandbox Code Playgroud)
VIEW就像这样调用它:
user.tasks< - 然后我遍历任务
问题:
在任务模型中 -
我用的时候:
validates :name, :presence => true , :message => 'Name cannot be blank, Task not saved'
Run Code Online (Sandbox Code Playgroud)
我收到500错误:
ActionView::Template::Error (uninitialized constant User::Task):
NameError in View file
Run Code Online (Sandbox Code Playgroud)
我用的时候:
validates_presence_of :name
Run Code Online (Sandbox Code Playgroud)
一切正常.
我认为上面两个验证方法都是相同的......问题与关联有关,以及验证如何与相关模型联系起来.我预感到事情的相关方式正在发生,但这只是一种预感.
任何帮助将不胜感激.非常感谢.
我有下表:
表:分数我拥有的:
+----+-------+ | Id | value | +----+-------+ | 1 | 300 | | 2 | 300 | | 3 | 300 | | 4 | 100 | | 5 | 200 | +----+-------+
我需要的:
+----+-------+ | Id | value | +----+-------+ | 1 | 300 | | 2 | 300 | | 3 | 300 | --------------
我如何在SQL中获取"全部"最高分数id 1,2,3.我开始使用MAX(在mysql中),但只返回一行.
我在heroku上试图访问一个API,要求我的应用程序ip被列入白名单.所以,我使用heroku附加的proximo来获取api白名单的主机/ ip.
我设置为使用HTTParty测试连接的快速测试失败了.
class FakeRequest
include HTTParty
http_proxy 'XX.XXX.XX.XX', 80, 'user', 'pass'
def set_defaults
{:api_key=>"BLARG_BLARG",
:login_name=>"user",
:method => "do_something",
:response_format => "json",
:v => "1.0",
:login_password=>"pass"}
end
def make_post
HTTParty.post "https://test.com", :query => set_defaults
end
end
Run Code Online (Sandbox Code Playgroud)
这样:req = FakeRequest.new req.make_post
从api返回一条错误消息,抱怨源IP未列入白名单.我查看了源IP,它没有使用代理.如何使用代理而不是我的ISP的IP来发布HTTParty帖子.