Плагин jQuery для изображений приложений рельсов не загружается

0

Я использую плагин jQuery Raty для моего ruby на приложении rails 4.0 и, похоже, работает, за исключением того, что изображения для звезд не загружаются на экран.

Изображение 174551

Таким образом, эти изображения должны быть звёздами ^ Когда я навешиваю их на консоль во время работы веб-кирпича, выводится следующее. (Мой эшафот называется отзывами)

Начато GET "/reviews/star-off.png" для 127.0.0.1 в 2014-03-28 14:15:42 -0400 Обработка по отзывамController # показать как PNG Параметры: {"id" => "star-off" } Обзор загрузки (1.3ms) SELECT "отзывы". * FROM "отзывы" WHERE "отзывы". "Id" = $ 1 LIMIT 1 [["id", "star-off"]] Завершено 404 Не найдено в 2ms ActiveRecord:: RecordNotFound (не удалось найти обзор с id = star-off): app/controller/reviews_controller.rb: 67: in 'set_review'

В настоящее время у меня есть звездные изображения в приложениях/активах/javascripts/images, но они также пытались поместить их в приложение/активы/изображения и приложения/представления/обзоры, но они все равно не появятся. Является ли моя проблема, что они не находятся в правильном каталоге (и если да, в какой директории они должны быть) или мне нужно добавить код вручную в контроллер моих отзывов? Благодарю.

edit: Поэтому, когда я пытаюсь использовать его на моей индексной странице, я получаю сообщение об ошибке, поэтому мне нужно что-то сделать для своего файла route.rb?

ActionController :: RoutingError (соответствие NNo [GET] "/star-off.png")

edit: в соответствии с запрошенными здесь маршрутами.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

и здесь review_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 Я отредактировал оригинальное сообщение, чтобы включить их.
Показать ещё 3 комментария

1 ответ

0

У меня была такая же проблема в моем проекте. Звездные изображения принадлежат к приложениям/активам/изображениям, как вы пробовали. Тем не менее, вам необходимо передать raty путь, например:

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

Это работает для меня.

Кроме того, если у вас есть turbolinks, вам придется tweek любой $ (document).ready(function() {...}); Ты можешь иметь. Это была проблема, с которой я столкнулся сразу после этого.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню