Как мне справиться с самостоятельно соединением с Decent_ExpOsure?

StackOverflow https://stackoverflow.com/questions/5844289

Вопрос

у меня есть 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.

Что будет хорошим способом справиться с этой ситуацией?

Это было полезно?

Решение

В моей форме у меня было:

form_for nested_forum, :url => { ... } do |f|
  # ...
end

Я добавил :as => :nested_forum Аргумент form_for Метод вызов, и форма теперь хранит параметры в params[:nested_forum], что решает мою проблему.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top