2015-02-10 75 views
3

我是新來的軌道。我使用rails 3.2.20和carrierwave gem以ShorttermCourse和OrientationCourse兩種形式上傳圖片。這些工作正常。每當我嘗試使用以顯示ShorttermCourse上傳的圖像:Rails的carrierwave:未定義的方法`IMAGE_URL」爲#<ShorttermCourse:0x007f9de0204ad8>

<%= image_tag(@shortterm_course.image_url(:thumb).to_s, :class => @shortterm_course.image? ? "img-responsive img-thumbnail" : nil) %> 

它提供了以下錯誤:

未定義的方法`IMAGE_URL」的#ShorttermCourse:0x007f9de0204ad8

但類似的代碼顯示圖像爲OrientationCourse。

當我重新啓動軌服務器後,就會顯示ShorttermCourse的形象,但隨後停止了OrientationCourse給未定義的方法「IMAGE_URL」工作的錯誤。以下是文件ShorttermCourse:

show.html.erb:

<!-- row -->    
<div class="row"> 
    <div class="col-lg-12"> 
     <h1 class="page-header">Individual Record</h1> 
    </div> 
    <!-- /.col-lg-12 --> 
    <p id="notice"><%= notice %></p> 
</div> 
<!-- /.row --> 
<!-- row --> 
<div class="row"> 
    <div class="col-lg-12"> 
     <%= image_tag(@shortterm_course.image_url(:thumb).to_s, :class => @shortterm_course.image? ? "img-responsive img-thumbnail" : nil) %> 
      <div class="table-responsive"> 
         <table class="table table-striped table-hover">   
          <tr> 
           <th>ID</th> 
           <th>Name</th> 
           <th>Gender</th> 
           <th>Religion</th> 
           <th>Category</th> 
           <th>Marital status</th> 
           <th>Email</th> 
           <th>Stream</th> 
           <th>College</th> 
          </tr>  
          <tr class="success"> 
           <td><%= @shortterm_course.id %></td> 
           <td><%= @shortterm_course.name %></td> 
           <td><%= @shortterm_course.gender %></td> 
           <td><%= @shortterm_course.religion %></td> 
           <td><%= @shortterm_course.category %></td> 
           <td><%= @shortterm_course.marital_status %></td> 
           <td><%= @shortterm_course.email %></td> 
           <td><%= @shortterm_course.stream %></td> 
           <td><%= @shortterm_course.college %></td> 
          </tr>  
         </table> 
         <table class="table table-striped table-hover">   
          <tr>  
           <th>University</th> 
           <th>City</th> 
           <th>District</th> 
           <th>State</th> 
           <th>Position</th> 
           <th>Payscale</th> 
           <th>Subject</th> 
           <th>Std Code</th> 
           <th>Landline</th> 
          </tr> 
          <tr class="success"> 
           <td><%= @shortterm_course.university %></td> 
           <td><%= @shortterm_course.city %></td> 
           <td><%= @shortterm_course.district %></td> 
           <td><%= @shortterm_course.state %></td> 
           <td><%= @shortterm_course.position %></td> 
           <td><%= @shortterm_course.payscale %></td> 
           <td><%= @shortterm_course.subject %></td> 
           <td><%= @shortterm_course.std_code %></td> 
           <td><%= @shortterm_course.landline %></td> 
          </tr> 
         </table>     
         <table class="table table-striped table-hover">   
          <tr>  
           <th>Mobile</th> 
           <th>University pin</th> 
           <th>Dob</th> 
           <th>Date of joining</th> 
           <th>Preferred date1</th> 
           <th>Preferred date2</th> 
           <th>Residential address</th> 
           <th>Pin</th> 
           <th>Phd</th> 
          </tr> 
          <tr class="success">  
           <td><%= @shortterm_course.mobile %></td> 
           <td><%= @shortterm_course.university_pin %></td> 
           <td><%= @shortterm_course.dob %></td> 
           <td><%= @shortterm_course.date_of_joining %></td> 
           <td><%= @shortterm_course.pref_date1 %></td> 
           <td><%= @shortterm_course.pref_date2 %></td> 
           <td><%= @shortterm_course.res_address %></td> 
           <td><%= @shortterm_course.pin %></td> 
           <td><%= @shortterm_course.phd %></td> 
          </tr>   
         </table> 
       </div> 
       <!-- /.table-responsive -->  
      <%= link_to 'Edit', edit_shortterm_course_path(@shortterm_course), :class => 'btn btn-default' %> 
      <%= link_to 'Delete', shortterm_course_path, method: :delete, :class => 'btn btn-default', data: { confirm: 'Are you sure?' } %> 
      <%= link_to 'Back', shortterm_record_path, :class => 'btn btn-default' %> 
     </div> 
     <!-- /.col-lg-12 -->  

</div> 
<!-- /. row --> 

shortterm_courses_controller.rb

class ShorttermCoursesController < ApplicationController 
    before_filter :authenticate_admin!, :only => [:show, :edit, :update, :destroy, :record] 
    layout "adminDashboard", :only => [:show, :edit, :update, :destroy, :record] 

    # GET /shortterm_courses 
    # GET /shortterm_courses.json 
    def index 
    raise ActionController::RoutingError.new('Not Found')  
    end 
    # GET /shortterm_courses/1 
    # GET /shortterm_courses/1.json 
    def show 
    @shortterm_course = ShorttermCourse.find(params[:id]) 

    respond_to do |format| 
     format.html # show.html.erb 
     format.json { render json: @shortterm_course } 
    end 
    end 

    #List of record 
    def record 
    @shortterm_courses = Kaminari.paginate_array(ShorttermCourse.all).page(params[:page]).per(4) 
    respond_to do |format| 
     format.html 
     format.json { render json: @shortterm_courses } 
    end 
    end 

    # GET /shortterm_courses/new 
    # GET /shortterm_courses/new.json 
    def new 
    @shortterm_course = ShorttermCourse.new 

    respond_to do |format| 
     format.html # new.html.erb 
     format.json { render json: @shortterm_course } 
    end 
    end 

    # GET /shortterm_courses/1/edit 
    def edit 
    @shortterm_course = ShorttermCourse.find(params[:id]) 
    end 

    # POST /shortterm_courses 
    # POST /shortterm_courses.json 
    def create 
    @shortterm_course = ShorttermCourse.new(params[:shortterm_course]) 

    respond_to do |format| 
     if @shortterm_course.save 
     format.html { redirect_to registered_path } 
     format.json { render json: @shortterm_course, status: :created, location: @shortterm_course } 
     else 
     format.html { render action: "new" } 
     format.json { render json: @shortterm_course.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

    # PUT /shortterm_courses/1 
    # PUT /shortterm_courses/1.json 
    def update 
    @shortterm_course = ShorttermCourse.find(params[:id]) 

    respond_to do |format| 
     if @shortterm_course.update_attributes(params[:shortterm_course]) 
     format.html { redirect_to @shortterm_course, notice: 'Shortterm course was successfully updated.' } 
     format.json { head :no_content } 
     else 
     format.html { render action: "edit" } 
     format.json { render json: @shortterm_course.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

    # DELETE /shortterm_courses/1 
    # DELETE /shortterm_courses/1.json 
    def destroy 
    @shortterm_course = ShorttermCourse.find(params[:id]) 
    @shortterm_course.destroy 

    respond_to do |format| 
     format.html { redirect_to shortterm_record_path} 
     format.json { head :no_content } 
    end 
    end 
end 

shortterm_course.rb

class ShorttermCourse < ActiveRecord::Base 
    belongs_to :course 
    attr_accessible :category, :city, :college, :subject, :date_of_joining, :district, :dob, :email, :gender, :landline, :marital_status, :mobile, :name, :payscale, :phd, :pin, :position, :pref_date1, :pref_date2, :religion, :res_address, :state, :stream, :university, :university_pin, :std_code, :alternate_email, :image, :course_id 
    mount_uploader :image, ImageUploader 
end 

OrientationCourse模型與ShorttermCourse模型相似,因此代碼與OrientationCourse類似。

我無法弄清楚什麼是疑難問題已經看了看以下問題Carrierwave NoMethodError: undefined method `image_url' for Item但我的問題是不同的。

所以,請幫我this.Thanks在前進!

回答

0

應該@shortterm_course.image.url(:thumb)

+0

對不起,還是不行either.Now它給人的錯誤: 未定義的方法'網址」爲無:NilClass – 2015-02-11 10:22:54

相關問題