2014-03-28 52 views
0

我使用jQuery插件Raty我的Ruby on Rails的4.0應用程序,它似乎是工作,除了明星們不加載到屏幕上的圖像。jQuery插件Rails應用程序圖像不加載

enter image description here

所以這些圖片應該是明星^當我在控制檯鼠標懸停他們同時運行的Web磚輸出以下。 (我的腳手架被稱爲點評)

發起者ReviewsController#顯示爲PNG GET 「/reviews/star-off.png」 爲127.0.0.1,在2014年3月28日14點15分42秒-0400 處理 參數:{ 「ID」=> 「星客」} 評論加載(1.3ms)選擇 「評論」 * FROM 「評論」 WHERE 「評論」, 「ID」 1 = $ LIMIT 1 [ 「身份證」,。 「星斷」]] 完成404在2ms的 的ActiveRecord :: RecordNotFound未找到(無法使用id =星斷找到回顧): 應用程序/控制器/ reviews_controller.rb:67:在`set_review」

我目前在apps/assets/javascripts/images中有明星圖片,但也嘗試將它們放在app/assets/images和app/views/reviews中,但它們仍然不會顯示出來。我的問題是他們沒有在正確的目錄中(如果是這樣,他們應該在哪個目錄中),還是我需要手動添加一些代碼到我的評論控制器?謝謝。

編輯:所以,當我嘗試在我的索引頁使用它,我只得到一個錯誤,這一點,所以我必須做一些事來我的routes.rb文件?

的ActionController :: RoutingError(n沒有路由匹配[GET] 「/star-off.png」)

編輯:這裏是要求的routes.rb

ConcertReview::Application.routes.draw do 
resources :reviews 

get "review/index" 
get "review/artist" 
get "review/date" 
get "review/venue" 
get "review/genre" 
get "review/comments" 

root 'reviews#index' 

get 'reviews/' => 'reviews#index' 
end 

和這裏的reviews_controller.rb(自動生成的腳手架,並沒有修改)

class ReviewsController < ApplicationController 
    before_action :set_review, only: [:show, :edit, :update, :destroy] 

    # GET /reviews 
    # GET /reviews.json 
    def index 
    @reviews = Review.all 
    end 

    # GET /reviews/1 
    # GET /reviews/1.json 
    def show 
    end 

    # GET /reviews/new 
    def new 
    @review = Review.new 
    end 

    # GET /reviews/1/edit 
    def edit 
    end 

    # POST /reviews 
    # POST /reviews.json 
    def create 
    @review = Review.new(review_params) 

    respond_to do |format| 
     if @review.save 
     format.html { redirect_to @review, notice: 'Review was successfully created.' } 
     format.json { render action: 'show', status: :created, location: @review } 
     else 
     format.html { render action: 'new' } 
     format.json { render json: @review.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

    # PATCH/PUT /reviews/1 
    # PATCH/PUT /reviews/1.json 
    def update 
    respond_to do |format| 
     if @review.update(review_params) 
     format.html { redirect_to @review, notice: 'Review was successfully updated.' } 
     format.json { head :no_content } 
     else 
     format.html { render action: 'edit' } 
     format.json { render json: @review.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

    # DELETE /reviews/1 
    # DELETE /reviews/1.json 
    def destroy 
    @review.destroy 
    respond_to do |format| 
     format.html { redirect_to reviews_url } 
     format.json { head :no_content } 
    end 
    end 

    private 
    # Use callbacks to share common setup or constraints between actions. 
    def set_review 
     @review = Review.find(params[:id]) 
    end 

    # Never trust parameters from the scary internet, only allow the white list through. 
    def review_params 
     params.require(:review).permit(:artist, :venue, :date, :genre, :sound, :stagePresence, :songSelection, :overallRating, :comments) 
    end 
end 
+0

改爲'id'你試圖發送'name'?顯示'reviews_controller'和'routes.rb'請 –

+0

@Monk_Code我編輯原始文章以包含它們。 – parameter

+0

嘗試把你的圖片放在'app/assets/images/reviews'裏 –

回答

0

我有那非常sa我的問題在我的項目上。像您嘗試過的那樣,明星圖片屬於app/assets/images。但是,你需要傳遞一個RATY路徑選項像這樣:

$('div').raty({ 
    readOnly: true, 
    halfScore: true, 
    score: 3, 
    path: '/assets' 
}); 

這是爲我工作。

另外,如果你有,你將不得不tweek任何$(文件)。就緒turbolinks(函數(){...});你可能有。這是我在這之後的問題。