ActionController :: UnknownFormat (Ruby on Rails) - PullRequest
0 голосов
/ 16 мая 2018

Я создаю приложение Ruby on Rails, в котором я отображаю свой 'new.html.erb' (в моем контроллере klass) и поверх него визуализирую мой частичный _select_previous.html.erb, также у меня есть ' link_to ', чтобы переключаться с одного на другое. Однако, когда я пытаюсь запустить свой проект с «index.html.erb», а затем с помощью «link_to» перейти к новому файлу, это показывает мне эту ошибку выше.

Я использую jQuery для переключения с одного вида на другой.

Вот мой new.html.erb:

<p> Or select from the previous created classes <%= link_to "here", 
new_klass_path, id: "link_to", :remote => true %> </p>

<div id="previous">
   <%= render :partial => 'select_previous' %>
</div>

<div id="content">
 <!-- Ruby form -->
</div>

Это мой контроллер классов:

def index
    @klass = Klass.all.paginate(:page => params[:page])
    #import_klasses(@klass)
end

def new
    @klass = Klass.new
    #saved = @klass.save
    #@klass.save!
    #if saved
       #s1 = Student.last.id
       #k1 = Klass.last.id
       #@enrollments = Enrollment.new(student_id: s1, klass_id: k1)
       #binding.pry
       #@enrollments.save!
     #redirect_to :controller => 'enrollments', :action => 'index'
     #flash[:alert] = "Class Created"
  #end
#end

  respond_to do |format|
     format.html {}
     format.js
  end
end

А это мой show.js:

$(document).ready(function() {
$("#days").hide();
$("#grade").hide();
$("#class").hide();
$("#all").hide();
$("#previous").hide();

$("#link_to").click(function () {
    var count = $(this).data("count") || 0;
    if(count == 1)
    {
        $("#content").hide();
        $("#previous").show();
    }
    else if(count == 2)
    {
        $("#content").show();
        $("#previous").hide();
        count = 0;
    }

    $(this).data("count", ++count);
});
});

Заранее благодарим за любую помощь, которую вы можете оказать мне.

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Хотя я действительно ценю все усилия, приложенные к решению этого вопроса, я должен сообщить, что нашел решение проблемы.

Ошибка была в моем index.html.erb, который я не поместил, потому что я думал, что это не имеет никакого отношения к проблеме. Мой индекс выглядел так:

<div>
    <%= link_to "Create new class", new_klass_path(@klass) %>
</div>

Произошла неизвестная ошибка формата, потому что она не знала, что такое "@klass"; или так я верю. Как только я забрал его, переход с одной страницы на другую прошел гладко. Более того, похоже, это известно:

<div>
    <%= link_to "Create new class", new_klass_path %>
</div>

Если это кого-то бесит, я глубоко извиняюсь. Я действительно ценю помощь каждого. Я постараюсь быстро повысить свой уровень, чтобы дать вам, ребята, чеки на полезные ответы.

0 голосов
/ 16 мая 2018

Моя последняя попытка, поскольку я, кажется, не в себе. Используйте это вместе с вашим исходным кодом, файлы без переименования. Оставьте свой файл js там, где он есть.

respond_to do |format|
    format.html {}
    format.js do
        redirect('/assets/show.js')
    end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...