Использование формы вложенной модели в качестве частичного на странице разных моделей - PullRequest
0 голосов
/ 24 октября 2010

У меня есть вложенная модель для фотоальбомов.Форма отлично работает через стандартный HTML.Но то, что мне нужно сделать, это отобразить его как частичное на другой странице с ошибкой: «Не найдено ни одного маршрута

{:action=>"create", :controller=>"photo_albums"}" 

Модели:

Projects 
  has_many :photo_albums 
PhotoAlbums 
  belongs_to :project 
  has_many :photos 
Photos 
  belongs_to :photo_album 
Controller: 
  def create 
    @project = Project.find(params[:project_id]) 
    @photoalbum = PhotoAlbum.create(params[:photo_album]) 
  end 

Вот рабочая форма, которая загружаети работы находят через HTML:

<% form_for [:project, @photoalbum], :html => { :multipart => true } 
do |f| %> 
        <div class="field"> 
        <%= f.label :title %><br /> 
                <%= f.text_field :title %> 
        </div> 
        <% f.fields_for :photos do |builder| %> 
                <% if builder.object.new_record? %> 
                        <%= builder.label :photo, "photo File" %> 
                        <%= builder.file_field :photo %> 
                <% end %> 
        <% end %> 
<% end %> 

Проблема, с которой я сталкиваюсь, заключается в том, чтобы сделать эту форму частичной в представлении на другой странице. Я использую следующее:

<% @photoalbum = PhotoAlbum.new %> 
<%= render :partial => "photo_albums/form",  :locals => 
{:photoalbum => @photoalbum}  %> 

Я проверил Rake Routes, и он у меня есть:

project_photo_albums POST / projects /: project_id /

photo_albums(.:format) 
{:controller=>"photo_albums", :action=>"create"} 

Мысли? Спасибо

1 Ответ

0 голосов
/ 25 октября 2010

В вашей форме у вас есть:

form_for [:project, @photoalbum]

, но кажется, что ваш частичный получает только переменную @photoalbumКак насчет переменной проекта?

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