0

次のルートがあります。

ルート.rb:

  namespace :admin do
    #...
    resources :carousel_images
  end

コントローラ:

def new
    @admin_carousel_image = CarouselImages.new
    #...

ビューでは、私はrender 'form'

<%= form_for [:admin, @admin_carousel_image] do |f| %>
  <%= f.error_notification %>

  <div class="form-inputs">
  </div>

  <div class="form-actions">
    <%= f.button :submit %>
  </div>
<% end %>

モデル:

class Admin::CarouselImage < ActiveRecord::Base
  attr_accessible :image
  mount_uploader :image, CarouselUploader
end

私が訪問する/admin/carousel_images/newと、私は得る

Admin/carousel_images#new の NoMethodError

/home/pinouchon/code/sharewizz/webapp/app/views/admin/carousel_images/_form.html.erb を表示して、行 1 が発生した場所:

#<#:0xdfe45a4> の未定義のメソッド `admin_carousel_images_index_path'

リソースが複数の場合、パスの「_index」が追加されないようにしました。私の場合、なぜ追加されるのですか?

4

2 に答える 2

-1

以下を変更して試してください。

def new
  @admin_carousel_image = Admin::CarouselImage.new #CarouselImage is your model name here. It should be singular.
  #...
end

formビューで、からレンダリングしている場合はindex.html.erb

次のものが必要です。

<%= render 'form' %>

indexファイルは次の順序である必要がありますapp/view/admin/carousel_images/index

ここで、ルートファイルはcarousel_imagesフォルダーでindex.html.erbを見つけ、フォームをレンダリングします。

于 2013-03-20T12:36:27.003 に答える