我有一个dashboard_controller
我试图允许用户为其他控制器提交三个表单的地方。div
当我单击链接时,我正在使用 jQuery 将表单加载到 a中。jQuery 工作正常,我可以根据单击的链接查看表单。但是,当我实际提交表单时,出现错误:
undefined method `model_name' for NilClass:Class
这是dashboard_controller
动作:
class DashboardController < ApplicationController
def show
@message = Message.new
@image = Image.new
@link = Link.new
end
end
这是我在开始时加载的 jQuery 以显示我的表单:
$("#forms").html("#{j render :partial => "messages/form"}")
这是单击链接时我拥有的 jQuery:
$("#add_image").live('click', function(){
$("#forms").html("#{j render :partial => "images/form"}")
})
这是我单击的链接,呈现表单:
=link_to 'Image', "#", :class => "btn btn-info btn-medium inactive", :id => "add_image"
现在,如果我单击我的Image
选项卡,则会加载图像表单。但是当我在该表单上单击提交时,会引发错误。谁能解释帮助我弄清楚如何解决这个问题?
编辑:我有这个工作,但感觉就像一个严重的黑客攻击。在我的其他有创建操作的控制器中,我只是将一个变量分配给一个新对象。因此,例如,如果我尝试创建一条新消息,则create
操作messages_controller
将如下所示:
def create
@link = Link.new
@image = Image.new
@message = Message.new(params[:message])
...
end