小编bri*_*ran的帖子

jQuery Deferred - 等待多个AJAX请求完成

我有一个三层深度的延迟ajax调用链,理想情况下,当最深层完成时,它们会一直向前推进(使我成为Inception ..."我们需要更深入!").

问题是我一次发送了许多ajax请求(可能是数百个),需要推迟直到所有这些请求完成.我不能依赖最后一次完成.

function updateAllNotes() {
    return $.Deferred(function(dfd_uan) {
        getcount = 0;
        getreturn = 0;
        for (i = 0; i <= index.data.length - 1; i++) {
            getcount++;
            $.when(getNote(index.data[i].key)).done(function() {
                // getNote is another deferred
                getreturn++
            });
        };
        // need help here
        // when getreturn == getcount, dfd_uan.resolve()
    }).promise();
};
Run Code Online (Sandbox Code Playgroud)

jquery jquery-deferred

56
推荐指数
3
解决办法
5万
查看次数

为ActionMailer渲染不同的视图(模板)

我正在尝试从ActionMailer(Rails 3.1.1)中进行不同模板的条件渲染.我希望大多数用户获得普通welcome.html.erb模板,但有些用户可以获得特殊welcome_photographer.html.erb模板.这种类型的东西在ActionController中工作:

# (in /app/mailers/user_mailer.rb) 
def welcome(user)
  @user = user
  mail(:to => "#{@user.name} <#{@user.email}>", :subject => "Welcome to ...")
  render "welcome_photographer" if @user.is_photographer
end
Run Code Online (Sandbox Code Playgroud)

但渲染不起作用 - 每个人都获得标准,welcome.html.erb即使@user.is_photographer == true

ruby-on-rails actionmailer ruby-on-rails-3

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

获取验证错误消息而不保存

Post
  :belongs_to :user

User
  :has_many :posts
Run Code Online (Sandbox Code Playgroud)

在我的注册工作流程中,他们首先起草一个帖子,然后在下一页上输入他们的用户信息进行注册.

# intermediate step, validate that Post is valid before moving on to User creation
# posts_controller:

@post = Post.new(params[:post])
if @post.valid?
  # go on to create User
else
  render 'new'
end
Run Code Online (Sandbox Code Playgroud)

但!@post错误消息没有创建,因为我没有保存我正在检查的@post模型.valid?.如何在不保存的情况下创建错误消息?

ruby-on-rails ruby-on-rails-3

29
推荐指数
2
解决办法
2万
查看次数

使用FactoryGirl设置受保护的属性

FactoryGirl不会设置我的受保护属性user.confirmed.这里的最佳做法是什么?

Factory.define :user do |f|
  f.name "Tim"          # attr_accessible -- this works
  f.confirmed true      # attr_protected -- doesn't work
end 
Run Code Online (Sandbox Code Playgroud)

我可以@user.confirmed = true在使用我的工厂之后做一个,但是在很多测试中都有很多重复.

ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 attr-protected factory-bot

8
推荐指数
1
解决办法
2321
查看次数

Rails 3使用范围进行多参数过滤

尝试使用url params在rails 3中进行基本过滤.我想要一个可以过滤的白色列表,并返回匹配的所有项目.我已经设置了一些范围(还有更多范围):

# in the model:
scope :budget_min, lambda {|min| where("budget > ?", min)}
scope :budget_max, lambda {|max| where("budget < ?", max)}
Run Code Online (Sandbox Code Playgroud)

...但是基于现在使用一些,没有或所有这些范围的最佳方法是params[]什么?我已经走到了这一步,但它没有延伸到多个选项.寻找一种"链条如果存在"类型的操作.

@jobs = Job.all
@jobs = Job.budget_min(params[:budget_min]) if params[:budget_min]
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3

4
推荐指数
1
解决办法
3585
查看次数

验证关联模型的特定属性

验证关联模型属性的最简单的方法是什么?

Item
  belongs_to :user
  validates_presence_of :user
  # AND the "is_photographer" column for that user must be true

User
  has_many :items
  # can be a regular user or a photographer
Run Code Online (Sandbox Code Playgroud)

ruby validation ruby-on-rails-3 ruby-on-rails-3.1

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

评论belongs_to几个模型之一

我的情况是有几种不同的模型可以有评论.试图找出关系:

Post
  has_many :comments

Update
  has_many :comments

Comment
  belongs_to EITHER :post OR :update (but not both)????
Run Code Online (Sandbox Code Playgroud)

什么是建立评论关系的正确方法?我希望能够打电话Post.commentsUpdate.comments

ruby activerecord ruby-on-rails polymorphic-associations ruby-on-rails-3

0
推荐指数
1
解决办法
116
查看次数