【发布时间】:2010-10-24 15:49:52
【问题描述】:
我有一个 PhotoAlbums 的嵌套模型表单。该表单通过标准 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"}
想法?谢谢你
【问题讨论】:
-
谢谢彼得,我不知道路由标签。
标签: ruby-on-rails ruby-on-rails-3 routes