Rails:如何添加动态日期或分钟?

时间:2009-09-15 22:29:40

标签: ruby-on-rails

在我的控制器中我有

查看注释行,我需要动态分钟到@ presentation.date

def create
    @presentation = Presentation.new(params[:presentation])
    @presentation.user_id = current_user.id
    @category = Category.find_by_id(params[:presentation][:category_id])
    @addtime = params[:presentation][:date]
#####@presentation.date = @category.date + @addtime.minutes ---------------------------- With this line not work 
    @presentation.date = @category.date + 60.minutes
    @presentation.expiration = @category.date + 3.days

    respond_to do |format|
      if @presentation.save
        flash[:notice] = 'Presentation was successfully created.'
        format.html { redirect_to(@presentation) }
        format.xml  { render :xml => @presentation, :status => :created, :location => @presentation }
      else
        @addtime = params[:presentation][:date]
        @category = Category.find_by_id(params[:presentation][:category_id])
        @minutes = Minute.minutes_presentations(params[:presentation][:category_id])
        format.html { render :action => "new" }
        format.xml  { render :xml => @presentation.errors, :status => :unprocessable_entity }
      end
    end
  end

1 个答案:

答案 0 :(得分:3)

minutes不是String的方法。您需要先将您的参数转换为数字。

@presentation.date = @category.date + @addtime.to_f.minutes