Rails js.erb не добавляет css.animate, но не содержит ошибок - PullRequest
0 голосов
/ 26 мая 2018

Я перебираю старую книгу по rails и пытаюсь обновить код на ходу.Книга для Rails 3, но я на 3.2, у которой есть некоторые отличия, с которыми я надеялся помочь!Проект вращается вокруг приложения магазина, и мне удалось пройти через большую часть его и заставить его работать, за исключением одной части, которая заставила меня вырвать мои волосы!

В данном разделе рассматривается добавление css.animateв корзину частичную.В книге используется js.jrs, но это не поддерживается в моей версии rails, поэтому я использую файл js.erb, как показано ниже:

$('#cart').html('<%= escape_javascript(render(@cart))%>');

$('#current_item').css({'background-color':'#88ff88'}).
animate({'background-color':'#114411'}, 1000);

Первая часть работает нормально, она используется дляотображать и обновлять корзину, однако, я просто не могу заставить работать второй кусок.Я гуглил и вижу, что у многих людей, похоже, нет проблем с этим кодом, поэтому я думаю, что он должен иметь какое-то отношение к моей версии rails / setup.Я подозреваю, что проблема связана с тем, как мое представление line_item пытается получить доступ к переменной current_item.Но я не слишком уверен, как решить эту проблему.Я включил еще немного кода ниже для справки:

_line_item.html.erb:

<% if line_item == @current_item %>
  <tr id="current_item">
  <% else %>
    <tr>
    <% end %>
    <tr>
      <td><%= line_item.quantity %>&times;</td>
      <td><%= line_item.product.title %></td>
      <td class="item_price"><%= number_to_currency(line_item.total_price) %></td>
    </tr>

line_item_contoller:

def create
@cart = current_cart
product = Product.find(params[:product_id]) @line_item = @cart.add_product(product.id)
respond_to do |format| if @line_item.save
      format.html { redirect_to(store_url) }
      format.js   { @current_item = @line_item }
      format.xml  { render :xml => @line_item,
        :status => :created, :location => @line_item }
else
format.html { render :action => "new" } format.xml { render :xml => @line_item.errors,
        :status => :unprocessable_entity }
        end 
    end
end

Я не слишком уверен, как отследить проблему, поэтому любая помощь будет высоко ценится.Я привел несколько примеров, когда люди запускали один и тот же проект, например, здесь: http://intertwingly.net/projects/AWDwR4/checkdepot-225-40/section-11.3.html#cmd5

Я продублировал этот проект, хотя он все еще не работал, поэтому я верю, что это в первую очередьРазница в конфигурации с моей версией rails.

А вот кто-то, успешно работающий над тем же проектом на github: https://github.com/diegonetto/Learning-Ruby-on-Rails/tree/master/app/views/line_items

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

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

1 Ответ

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

В коде, который вы показали для партиала _line_item.html.erb, похоже, что у вас есть дополнительное открывающее устройство <tr>, чуть ниже <% end %>, чтобы можно было скинуть вещи.Может ли это быть частью проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...