小编Rid*_*ils的帖子

使用rails 3验证:presence与validates_presence_of

我有几个简单的模型,如下所示:

楷模

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)

一切正常.

我认为上面两个验证方法都是相同的......问题与关联有关,以及验证如何与相关模型联系起来.我预感到事情的相关方式正在发生,但这只是一种预感.

任何帮助将不胜感激.非常感谢.

ruby-on-rails-3

23
推荐指数
1
解决办法
3万
查看次数

返回SQL中"MAX"值的所有行?

我有下表:

表:分数我拥有的:

+----+-------+
| 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中),但只返回一行.

mysql max

14
推荐指数
4
解决办法
3万
查看次数

HTTParty与代理

我在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帖子.

ruby proxy heroku httparty

6
推荐指数
1
解决办法
7903
查看次数

标签 统计

heroku ×1

httparty ×1

max ×1

mysql ×1

proxy ×1

ruby ×1

ruby-on-rails-3 ×1