2015-08-27 1 views
1

удаленная связь работает нормально, правильно доводя контроллер до js format, тогда я пытаюсь отобразить разные частичные данные на основе полученных params[:id], но что-то не так в моем письме ... не понимаю ..Rails4 не может отобразить правильное частичное при удаленном вызове

в моем макете

<!-- BEGIN PAGE CONTENT --> 
    <div id="page-content"> 
    <div id='wrap'> 
     <%= yield %> 
    </div> <!--wrap --> 
    </div> <!-- page-content --> 
    <!-- END PAGE CONTENT --> 

мой SheetsController.rb является:

class SheetsController < ApplicationController 

    respond_to :html, :js 

    def show 
     sheet = Sheet.find(params[:id]) 
     @sheet = "sheets/_#{sheet.name}.html.erb" 
     respond_to do |format| 
     format.js { 
      render template: "sheets/sample.js.erb" 
     } 
     format.html { 
      render template: @sheet 
     } 
     end  
    end 
    end 

в моем sheets/sample.js.erb я написал

$('#page-content #wrap').html("<%=j render partial: @sheet %>"); 

ошибка:

ArgumentError - The partial name (sheets/_sample-0.html.erb) 
is not a valid Ruby identifier; make sure your partial name starts 
with underscore, and is followed by any combination of let ters, 
numbers and underscores.: 

Моих просмотры структуры

app 
    - views 
     - sheets 
      sample.js.erb 
      _sample-0.html.erb 
      _sample-1.html.erb 
      _sample-2.html.erb 
      show.html.erb 

это не так? спасибо за обратную связь

+0

могли бы вы добавить больше 'оШИБОК log' как с' 'filename' и линейного number', где произошла ошибка? – illusionist

+0

ok попробуйте только этот '@sheet =" _ # {sheet.name} "' – illusionist

ответ

1

Я хотел бы изменить

@sheet = "sheets/_#{sheet.name}.html.erb"

в

@sheet = "sheets/#{sheet.name}.html.erb"

Пожалуйста, дайте мне знать, как она идет.

P.S. Я протестировал, чтобы подтвердить, что включение расширения .html.erb или исключение расширения не влияет на частичную визуализацию. Но если бы я включил символ подчеркивания, я получил ошибку.

+0

спасибо, я нашел, что проблема прочитала мой ответ – erwin

0

Я нашел проблему, снова прочитав сообщение об ошибке ... мои частичные имена названы: sample-0 sample-1 sample-2, '-' ЗАПРЕЩЕН. , меняя имя на буквы, цифры и символы подчеркивания .. . трюк

sample_0 sample_1 sample_2

+0

Отличные новости. Мне нравится ваш вопрос. Интересная идея. Удачи вам. – Elvn