首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用decent_exposure处理自连接?

如何使用decent_exposure处理自连接?
EN

Stack Overflow用户
提问于 2011-05-01 04:00:15
回答 1查看 223关注 0票数 0

我有一个Forum模型,它的实例可以有许多嵌套的论坛:

代码语言:javascript
复制
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

我的路线是这样的:

代码语言:javascript
复制
# 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'

现在,在控制器中:

代码语言:javascript
复制
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

处理这种情况的好方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-05 03:14:23

在我的表格中,我有:

代码语言:javascript
复制
form_for nested_forum, :url => { ... } do |f|
  # ...
end

我将:as => :nested_forum参数添加到form_for方法调用中,表单现在将参数存储在params[:nested_forum]中,这解决了我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5844289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档