为了能够在我的rails应用程序主页上管理一些示例图像,我使用CarrierWave创建了一个图像上传器。
我遇到的问题是我的image_uploader控制器无法访问root 'static_pages#home'
的主页。有没有办法可以让我的(主要)静态静态#pouse#home'?访问上传者的控制器?
现在我能让它工作的唯一方法是将我的主页索引从/app/views/static_pages/home.html.erb
移动到/app/views/covers/index.html.erb
并更改路线,但这似乎是一个糟糕的解决方法。
感谢您的帮助。
更新
正如@Udaykumardas在下面建议的那样,我创建了一个包含
的app/models/static_page.rb
文件
class Cover < ActiveRecord::Base
mount_uploader :photo, PhotoUploader # Tells rails to use this uploader for this model.
end
但现在我收到以下错误:
StaticPagesController#home中的NoMethodError 未定义的方法`每个&#39;为零:NilClass
引用<% @covers.each do |cover| %>
这是我的路线信息以防万一
get 'covers/index'
get 'covers/new'
get 'covers/create'
get 'covers/destroy'
get 'password_resets/new'
get 'password_resets/edit'
get 'account_activations/edit'
get 'sessions/new'
root 'static_pages#home'
get 'contact' => 'static_pages#contact'
get 'signup' => 'users#new'
get 'login' => 'sessions#new'
post 'login' => 'sessions#create'
delete 'logout' => 'sessions#destroy'
resources :users
resources :account_activations, only: [:edit]
resources :password_resets, only: [:new, :create, :edit, :update]
resources :microposts, only: [:create, :destroy]
resources :covers, only: [:index, :new, :create, :destroy]
我不确定底线是否需要更改为resources :static_pages, only: [:index, :new, :create, :destroy]
。我试过这个,它导致了如下不同的错误:
StaticPagesController#home中的NameError 未定义的局部变量或方法`new_cover_path&#39;
再次感谢您的帮助。
答案 0 :(得分:0)
在mount_uploader :image, ImageUploader
文件中使用StaticPage.rb
。