小编ray*_*ley的帖子

Rails - 从模型中获取非验证错误的错误消息

所以我在一个名为add_equip的预留模型中有一个方法.此方法会进行一些检查以确保添加的设备有效(不与其他预留冲突).

检查工作.如果不添加添加的设备,则不应添加,如果应该添加.

问题是我无法弄清楚如何将消息发送回控制器以放入闪存消息中?我知道我必须在这里遗漏一些东西,但我现在用Google搜索了几个小时,并且无法找到任何明确的解释如何将错误传递回控制器,除非它们是验证错误.

在reservations_controller中添加add_equip

    def add_equip
    @reservation = Reservation.find(params[:id])
    @addedEquip = Equip.find(params[:equip_id])

    respond_to do |format|
     if @reservation.add_equip(@addedEquip)
        flash[:notice] = "Equipment was added"
        format.html { redirect_to(edit_reservation_path(@reservation)) }
     else
        flash[:notice] = @reservation.errors
        format.html { redirect_to(edit_reservation_path(@reservation)) }
     end
    end
  end
Run Code Online (Sandbox Code Playgroud)

add_equip在预订模型中

def add_equip equip
   if self.reserved.find_by_equip_id(equip.id)
     self.errors.add_to_base("Equipment Already Added")
     return false
   elsif !equip.is_available?(self.start, self.end)
     self.errors.add_to_base("Equipment Already Reserved")
     return false
   else
     r = Reserved.new
     r.reservation = self
     r.equip = equip
     r.save
   end
  end
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.我知道我在这里缺少一些基本的东西.

error-handling ruby-on-rails

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

在云中发展

我想知道是否有人尝试过基于纯云的开发设置,如果有的话怎么样?

背景:

我要在哥斯达黎加旅行约六个星期,我的妻子已经禁止使用笔记本电脑.我担心能够为我目前的一些项目提供支持.虽然我无法访问我的笔记本电脑,但我可以访问网吧,但允许下载源代码的可能性,更不用说安装我的任何常规开发工具都值得怀疑.但是我可以访问网络浏览器.

我通过google搜索的初步想法就是寻找一片slicehost.这样我就可以使用ajax控制台访问完成"机器".

然后使用像Bespin这样的东西充当基于Web的编辑器.

结合一些Capistrano收件人和我的github帐户.我认为它可能适用于我的RAILS和PHP项目.

有人试过这样的事吗?

任何意见/意见将不胜感激.

cloud workflow

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

实体框架 - MultipleActiveResultSets对缓存的影响

所以我有一个类似下面的类.有一个线程使用Entity Framework Code First DbContext做了一些工作.

我遇到的问题是,m_DB上下文似乎是缓存数据,即使它应该为每个处理循环进行处理和重新创建.

我所看到的是,加载的模型中没有关系中的某些数据.如果我突然杀死并重新启动进程,就会发现数据应该是这样的.

我唯一能想到的是这个应用程序在数据库连接字符串中使用MultipleActiveResultSets = true,但我找不到任何明确说明这会导致我看到的行为的内容.

任何见解将不胜感激.


public class ProcessingService
{

  private MyContext m_DB = null
  private bool m_Run = true;

  private void ThreadLoop()
  {
    while(m_Run)
    {
      try
      {
        if(m_DB == null)
          m_DB = new MyContext();
      }
      catch(Exception ex)
      {
        //Log Error
      }
      finally
      {
        if(m_DB != null)
        {
          m_DB.Dispose();
          m_DB = null;
        }
      }
    }
  }

  private void ProcessingStepOne()
  {
    // Do some work with m_DB
  }

  private void ProcessingStepTwo()
  {
    // Do some work …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework

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

Emberjs - 一起使用CollectionView和ItemController

我有一个Category有很多的模型Documents.渲染个人时,Category我想documents在拖放可排序列表中列出所有子项.我还想双击任何个人document以允许该文档的内联编辑.

我让两个部分都在那里工作,但似乎无法弄清楚如何将它们合并在一起.

对于可排序列表,我使用自定义子类CollectionView来渲染documents,并在插入元素后调用html5sortable jquery插件.

对于内联编辑,我itemController为每个document渲染设置了一个.在DocumentController我维护的应用程序状态下编辑文档.

我正在寻找有关如何结合这两种方法的见解.我认为我需要的是一种itemController为每个人设置一个itemView的方法CollectionView.我已将相关代码放在下面.

App.SortableView = Ember.CollectionView.extend({
    tagName: 'ul',
    itemViewClass: 'App.SortableItemView', 

    didInsertElement: function(){
        var view = this;
        Ember.run.next(function() {
        $(view.get('element')).sortable();
        });
    }
});

App.SortableItemView = Ember.View.extend({
    templateName: 'sortable-item',
    doubleClick: function() {
        //This should ideally send 'editDocument' to controller
    }
});

App.DocumentController = Ember.ObjectController.extend({
    isEditing:false,
    editDocument: function () {
        this.set('isEditing', true);
    },
    finishedEditing: …
Run Code Online (Sandbox Code Playgroud)

javascript collectionview ember.js

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

使用youtube gdata API检索直接上传的进度

我正在关注使用gData Youtube API进行PHP直接上传的文档.我可以成功上传视频,所以这一切都很好.我正在弄清楚的部分,如果它甚至可能获得一些上传进度状态,如完成百分比或上传的字节数.

以下是上传发生的代码片段.

 <?php 
try {
      $newEntry = $yt->insertEntry($myVideoEntry, $uploadUrl, 'Zend_Gdata_YouTube_VideoEntry');
    } catch (Zend_Gdata_App_HttpException $httpException) {
      echo $httpException->getRawResponseBody();
    } catch (Zend_Gdata_App_Exception $e) {
        echo $e->getMessage();
    }
?>
Run Code Online (Sandbox Code Playgroud)

任何人有任何想法如何更新$progess变量或东西,因为这是上传?

php youtube upload progress zend-gdata

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

多个嵌套路由,有更好的方法吗?

所以在我的rails应用程序中,我有两个属于用户的资源(租赁和预订).这是我的routes.rb中的代码,用于设置嵌套路由.

  map.resources :users, :has_many => :reservations, :shallow => true
  map.resources :users, :has_many => :rentals, :shallow => true
  map.resources :rentals, :only => [:index]
  map.resources :reservations, :only => [:index]
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法来做到这一点.我做了一些谷歌搜索,但我找不到一个明确的答案.

提前致谢.

-射线

routing ruby-on-rails nested-resources

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