Проблема при отправке учетной записи с пространством имен с использованием ассоциации User ActiveRecord - PullRequest
0 голосов
/ 18 марта 2011

Я использую Ruby on Rails 3 и пытаюсь отправить учетную запись в пространстве имен, используя ассоциацию ActiveRecord.

В маршрутизаторе У меня

resources :users

namespace "users" do
  resources :accounts
end

В Модель пользователя У меня есть:

class User < ActiveRecord::Base
  has_one :account,
    :class_name  => "Users::Account"
end

В Контроллере пользователя У меня есть

class UsersController < ApplicationController
  def new
    @user = User.new
    ...
  end
end

Для отправки учетной записи пользователя,в виде я пытался сделать следующее:

<%= form_for([:users, @user.account]}) do |f| %>
  ...
<% end %>

, но это не работает.Итак, что мне нужно сделать, чтобы это заработало?

1 Ответ

1 голос
/ 18 марта 2011

Некоторые вещи выглядят смешанными.У вас есть представление для пользователей, но вы создаете там User :: Account ?!В контроллере вы не создали эту учетную запись.Возможно:

@user = User.new :account => Users::Account.new

Но обратите внимание, что вам нужно либо переместить свою логику в Users :: AccountController, либо, если вы хотите создать пользователя и его учетную запись в одном представлении, чем использовать nested_forms для учетной записи ичем вы должны опубликовать форму в вашей модели @user с accepting_nesting_attributes для учетной записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...