Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用预定义属性在Rails中创建新对象_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 如何使用预定义属性在Rails中创建新对象

Ruby on rails 如何使用预定义属性在Rails中创建新对象,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个Rails应用程序,它有一堆页面,每个页面都有许多车队。在每个页面上都有一个链接,用于在该页面上创建新车队。这是该链接的代码: @第页)%%> 但是,在下一页上,“conva/new”页属性为空。我错过了什么 编辑这里是我的新和创建功能的车队 def new @convo = Convo.new(params[:page]) respond_to do |format| format.html # new.html.erb format.x

我有一个Rails应用程序,它有一堆页面,每个页面都有许多车队。在每个页面上都有一个链接,用于在该页面上创建新车队。这是该链接的代码:

@第页)%%>

但是,在下一页上,“conva/new”页属性为空。我错过了什么

编辑这里是我的新和创建功能的车队

   def new
    @convo = Convo.new(params[:page])

    respond_to do |format|
      format.html # new.html.erb
      format.xml  { render :xml => @convo }
    end
  end



  # POST /convos
  # POST /convos.xml
  def create
    @convo = Convo.new(params[:convo])

    respond_to do |format|
      if @convo.save
        format.html { redirect_to(@convo, :notice => 'Convo was successfully created.') }
        format.xml  { render :xml => @convo, :status => :created, :location => @convo }
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @convo.errors, :status => :unprocessable_entity }
      end
    end
  end

您需要加载页面。。。尝试设置一个before筛选器

before_filter :find_page

private
  def find_page
    @page = Page.find(params[:page_id])
  end
然后使用嵌套资源进行构建

def new
  @convo = @page.convos.build

  respond_to do |format|
    format.html # new.html.erb
    format.xml  { render :xml => @convo }
  end
end

def create
  @convo = @page.convos.build(params[:convo])
  .....
end

您需要加载页面。。。尝试设置一个before筛选器

before_filter :find_page

private
  def find_page
    @page = Page.find(params[:page_id])
  end
然后使用嵌套资源进行构建

def new
  @convo = @page.convos.build

  respond_to do |format|
    format.html # new.html.erb
    format.xml  { render :xml => @convo }
  end
end

def create
  @convo = @page.convos.build(params[:convo])
  .....
end

我猜您缺少一个“:page=>”


我猜您缺少一个“:page=>”


您的意思是页面参数不能通过
params[:page]
访问?我的意思是应该访问。我将发布我的新函数和创建函数您的意思是页面参数不能通过
params[:page]
访问?我的意思是应该访问。我将发布我的新函数和创建函数SSO,然后在Convals_控制器类中使用_过滤器,并在Convals模型中使用def find_页面?我将在ActionController中定义_过滤器之前使用未定义的方法'before_filter'。。。。应用程序控制器继承ActionController,页面控制器应继承应用程序控制器。。。。确保您的控制器具有以下定义类页面controller