标签: multiple-models

具有Ruby On Rails的多个用户模型,并设计为具有单独的注册路由,但具有一个通用登录路由

首先,我与谷歌和雅虎进行了密切的搜索,我发现了一些关于像我这样的主题的回复,但它们并没有真正涵盖我需要知道的内容.

我的应用程序中有几个用户模型,现在它是客户,设计师,零售商,似乎还有更多未来.它们都有不同的数据存储在他们的表格中,以及他们允许或不允许的网站上的几个区域.所以我想去设计+ CanCan的方式,并尝试我的运气与多态关联,所以我得到以下模型设置:

class User < AR
  belongs_to :loginable, :polymorphic => true
end

class Customer < AR
  has_one :user, :as => :loginable
end

class Designer < AR
  has_one :user, :as => :loginable
end

class Retailer < AR
  has_one :user, :as => :loginable
end
Run Code Online (Sandbox Code Playgroud)

对于注册,我已经为每个不同的用户类型定制了视图,我的路由设置如下:

devise_for :customers, :class_name => 'User'
devise_for :designers, :class_name => 'User'
devise_for :retailers, :class_name => 'User'
Run Code Online (Sandbox Code Playgroud)

现在注册控制器是标准的(这是"设计/注册"),但我想,因为我有不同的数据存储在不同的模型中,我也必须自定义这种行为!?

但与此设置我喜欢助手customer_signed_in?designer_signed_in?,但我真正需要的是一个一般的助手一样user_signed_in?的可以访问的所有用户在网站上的区域,无论哪个用户类型.

我也喜欢路线助手new_user_session_path而不是几个new_*type*_session_path等等.事实上,我需要做的就是注册过程......

所以我想知道如果这是解决这个问题的方法??? 或者是否有更好/更容易/更少必须定制的解决方案?


罗伯特,提前谢谢

ruby-on-rails multiple-models devise

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

如何为多个模型使用tensorflow服务

我如何使用多个tensorflow模型?我用的是docker容器.

model_config_list: {

  config: {
    name: "model1",
    base_path: "/tmp/model",
    model_platform: "tensorflow"
  },
  config: {
     name: "model2",
     base_path: "/tmp/model2",
     model_platform: "tensorflow"
  }
}
Run Code Online (Sandbox Code Playgroud)

multiple-models tensorflow-serving

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

Rails 3嵌套模型表,使用accepts_nested_attributes_for深入2级

我的嵌套模型表单在第一级深度工作得很好.但我的印象是你可以使用accepts_nested_attributes_for深入了解多个级别.但是,当我尝试下面的代码时,"图像"属性被附加到顶级"问题"模型,它会在表单提交时因未知属性"图像"错误而中断.

我可以使用表单数据手动完成插入,但如果Rails可以自动处理它,那么显然会有更好的理由.

我究竟做错了什么?我试着改变| af | 在"字段为:图像做"到它自己的唯一名称,但它没有任何影响.

楷模:

class Question < ActiveRecord::Base
  has_one :answer
  accepts_nested_attributes_for :answer
end

class Answer < ActiveRecord::Base
  belongs_to :question
  has_one :image
  accepts_nested_attributes_for :image
end

class Image < ActiveRecord::Base
  belongs_to :answer
end
Run Code Online (Sandbox Code Playgroud)

控制器:

def new
    @question = Question.new
    answer = @question.build_answer
    image = answer.build_image

    @case_id = params[:id]

    render :layout => 'application', :template => '/questions/form' 
end

def create
  question_data = params[:question]
  @question = Question.new(question_data)
  if @question.save
  ...
end
Run Code Online (Sandbox Code Playgroud)

视图:

= form_for @question, :html => {:multipart => true} do |f| …
Run Code Online (Sandbox Code Playgroud)

forms multiple-models ruby-on-rails-3

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

param'samples'的预期Hash(得到数组)

我一直在关注嵌套表单和复杂表单的Railscasts剧集.在单个表单中创建多个模型的过程中,我能够编辑,更新,删除和创建嵌套在Batch模型中的样本模型的记录.

我很长时间以来一直在试图解决这个问题但是无法找到合适的解决方案.

我的开发日志文件给我以下错误.

错误信息:

Status: 500 Internal Server Error
  expected Hash (got Array) for param `samples'
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我有这样的更新动作

def update
     @batch = Batch.find(params[:id])

     respond_to do |format|
       if @batch.update_attributes(params[:batch])
         flash[:notice] = 'Successfully updated Batch.'
         format.html { redirect_to(@batch) }
         format.xml  { head :ok }
       else
         format.html { render :action => "edit" }
         format.xml  { render :xml => @batch.errors, :status => :unprocessable_entity }
       end
     end
   end
Run Code Online (Sandbox Code Playgroud)

我的观点是这样的:

<%= form_for @batch do |f| %>
......
<%= f.fields_for :samples do |s_form| %>
.... s_form things
<% …
Run Code Online (Sandbox Code Playgroud)

edit nested-forms multiple-models ruby-on-rails-2

9
推荐指数
2
解决办法
8040
查看次数

django如何从同一个模型中获得多个外键

这是我的模型:

class Item(models.Model):
    name = models.CharField(max_length=30)
    ...
    choices = (
        ('weapon', 'weapon'),
        ('shield', 'shield'),
    )
    typeOf = models.CharField(max_length=15, choices=choices)



class Character(models.Model):
    name = models.CharField(max_length=30, unique=True)
    ...
    weapon = models.ForeignKey(Inventory) // **THIS IS WHAT I WANT TO DE BUT DOES'NT WORK**
    shield = models.ForeignKey(Inventory) // **THIS IS WHAT I WANT TO DE BUT DOES'NT WORK**
    inventory = models.ManyToManyField(Item, through='Inventory')




class Inventory(models.Model):
    character = models.ForeignKey('Character')
    item = models.ForeignKey('Item')
Run Code Online (Sandbox Code Playgroud)

我知道如何将物品添加到库存但现在我想装备它们.我该怎么做外键?我希望能够从我的库存中装备武器

django model foreign-keys multiple-models

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

MVC4多个数据库

我是MVC4框架的新手,并且一直致力于许可应用程序,该应用程序必须为不同的产品使用不同的数据库(每个数据库包含一个产品的少数表 - 所有这些都由专有许可工具生成).我的应用程序应能够支持各种产品上的CRUD功能,因此DbContext每个产品需要与不同型号相关的多个对象.

据我所知,每个这样的DbContext对象都需要Web.config文件中的连接字符串.我正在努力列出(Index.cshtml)各种产品的现有许可证,使用DropDownList控制,每当用户从DropDownList控件中选择不同的产品时,我需要连接到不同的数据库.

任何帮助将受到高度赞赏.谢谢.

asp.net-mvc multiple-models dbcontext asp.net-mvc-4

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