我有一个Forum模型,它的实例可以有许多嵌套的论坛:
class Forum < ActiveRecord::Base
has_many :nested_forums,
:class_name => 'Forum',
:foreign_key => 'parent_forum_id',
:dependent => :nullify
belongs_to :parent_forum,
:class_name => 'Forum'
end我的路线是这样的:
# Standard resource routes
GET /forums/:id => 'forums#show'
# ...
GET /forums/:forum_id/nested_forums/new => 'Forums/nested_forums#new'
POST /forums/:forum_id/nested_forums => 'forums/nested_forums#create'现在,在控制器中:
class Forums::NestedForumsController < ApplicationController
expose(:forum) # Will find with :forum_id
expose(:nested_forums) { forum.nested_forums }
expose(:nested_forum) # Main issue here
end在:create操作中,expose(:nested_forum)行生成的代码将尝试使用params[:nested_forum]创建一个论坛。这是一个尴尬的情况,因为我使用的是自连接,并且没有NestedForum模型,而且似乎没有办法告诉decent_exposure。
处理这种情况的好方法是什么?
发布于 2011-05-05 03:14:23
在我的表格中,我有:
form_for nested_forum, :url => { ... } do |f|
# ...
end我将:as => :nested_forum参数添加到form_for方法调用中,表单现在将参数存储在params[:nested_forum]中,这解决了我的问题。
https://stackoverflow.com/questions/5844289
复制相似问题