在更新操作中从用户输入创建不同模型的新实例

时间:2014-06-22 11:49:47

标签: ruby-on-rails ruby forms model-view-controller model

我正在开发一个应用程序,用户可以在其中为图片添加标签。他第一次上传图片时没有机会分配标签。但是,这些标签可以在best_in_place gem的帮助下进行更改。这将调用图片控制器中的更新操作。

在这里,我将通过params hash获取这些标签。我现在正在尝试为每个标记创建一个新的标签模型实例,可以在params哈希中找到。不幸的是,我不知道,我会怎么做。这是我的第一个问题,因为我无法将表单直接链接到标签控制器。

另一个问题:如果我创建了这些标签,我不想将标签本身存储在图片表中的相应列表中,而是我刚创建的那些标签的ID。我如何操纵更新操作才能实现这一目标?

目前更新操作如下:

def update
  @model = Pictures.find params[:id]
  respond_do |format|
    params[:pictures][:tags] do |tag|
      tag = @tags.new <- create new tags here
    end
    if @model.update_attributes(params[:pictures])
      format.json { respond_with_bip(@model) }
      format.json { redirect_to action: 'show', status: :created, location: @model }
    end
end

我对Ruby on Rails相当新,所以这可能是一个简单的问题,但是任何帮助都会受到赞赏。

0 个答案:

没有答案