如何从Rails窗体管理多个不相关的模型?是否可以通过Rails表单管理多个不相关的模型?
对于所有型号或每个型号控制器,我应该只有一个控制器吗?
这是我的控制器:
class WordsController < ApplicationController
def new
@word=Word.new
@verb=Verb.new
@adjektiv=Adjektiv.new
@adverb=Adverb.new
end
def create
@word=Word.create(params[:word])
@verb=Verb.create(params[:verb])
@adjektiv=Adjektiv.create(params[:adjektiv])
@adverb=Adverb.create(params[:adverb])
if @word.save || @verb.save || @adjektiv || @adverb
redirect_to :action => 'index'
else
render :action => 'new'
end
end
def index
@word=Word.find(:all)
@verb=Verb.find(:all)
@adjektiv=Adjektiv.find(:all)
@adverb =Adverb.find(:all)
end
def edit
@word=Word.find(params[:id])
@verb=Verb.find(params[:id])
@adjektiv=Adjektiv.find(params[:id])
@adverb =Adverb.find(params[:id])
end
def update
@word =Word.find(params[:id])
if @word.update_attributes(params[:word]) || @verb.update_attributes(params[:verb]) || @adjektiv.update_attributes(params[:adjektiv]) || @adverb.update_attributes(params[:adverb])
redirect_to :action => 'index'
else
redirect_to :action => 'edit'
end
end
end
考虑到你的控制器的外观,你应该使用多种形式。看来你一次只能在一个人身上工作?在编辑时,您可以通过*相同的ID *找到4种不同的模型。在创建时,如果* any * save,您将重定向到索引。显然你想独立操作它们。为每个资源使用控制器和表单。 – numbers1311407
这意味着我不能以一种形式做到这一点? –
根据您在下面发布的图片,看起来您确实需要多个表单,每个手风琴选项卡上都有一个。 – numbers1311407