2015-12-10 3 views
0

Я хочу поставить кнопку фаворита рядом с кнопкой добавления в корзину. Кнопка добавления в корзину реализуется как кнопка формы-отправки, а любимая кнопка вызывает удаленный вызов ajax, не связанный с задней частью. Любимая кнопка прекрасно работает на других страницах, но когда я помещаю ее рядом с кнопкой добавления в корзину, она внезапно превращается в кнопку формы отправки!HTML/Rails: кнопка Next To Form_Tag автоматически отправляет?

<%=submit_tag "Add to Cart"%> | <%=get_fav_store_item_button(@store_item,@current_user)%> 

Было высказано предположение о том, что я до сих пор в виде блока, но когда я добавляю конец после того, как отправить я получаю и ошибка «неожиданное ключевое слово обеспечения». Вот и вся форма с обижая <% конец%>:

<%=form_tag add_to_cart_path%> 
<% if !store_option_types.empty? %> 
    <h1>Add Options!</h1> 
    <%store_option_types.each do |key,value|%> 
     <%= render :partial=> 'option_selection', :locals => {:store_option_type => StoreOptionType.find(key), :options => value}%> 
    <%end%> 
<%else%> 
    No options available for this order 
<%end%> 
<%hidden_field_tag "store_id", @store_item.store_id%> 
<%hidden_field_tag "store_item_id", @store_item.id%> 
<%=submit_tag "Add to Cart"%> 
<%end%> | <%=get_fav_store_item_button(@store_item,@current_user)%> 

В соответствии с просьбой, кнопка FAV сценарий:

def get_fav_store_button(item, user) 
    existing_record = UserFavStore.where(:store_id=>item.id, :user_id=>user.id) 
    if !existing_record.empty? 
     return button_to("♥",add_fav_item_from_search_path(:user_id=>user.id, :store_id =>item.id), 
    :id=>"S"+item.id.to_s,:class=>"fav_button fav_yes btn", :remote=>true) 
    else 
    return button_to("♥",add_fav_store_from_search_path(:user_id=>user.id, :store_id =>item.id), 
    :id=>"S"+item.id.to_s,:class=>"fav_button btn", :remote=>true) #No fav_yes class! 
    end 

Что является причиной этого, и как я могу это исправить? Возможно, это общие феномены html-формы?

+0

привет и добро пожаловать в переполнение стека. Не могли бы вы отредактировать свой вопрос и добавить соответствующий раздел html, который превращается в (щелкните правой кнопкой мыши и просмотрите источник на странице и скопируйте его). Очень сложно отладить вербальное описание проблемы. что вы имеете в виду, когда говорите «он превращается в кнопку отправки»? Можете ли вы объяснить, что вы ожидаете, и что вы получили вместо этого? это просто визуально или что-то еще? можете ли вы включить изображения? –

+0

Можете ли вы добавить весь свой код, включая запрос ajax? Я предполагаю, что это потому, что любимая кнопка находится в вашем блоке 'form_for'. –

+0

Проверьте обновленный вопрос –

ответ

0

Похоже, вы предназначали эту строку:

<%=form_tag add_to_cart_path%> 

Чтобы начать блок, который продолжается до submit_tag "Add to Cart"

<%=form_tag add_to_cart_path do -%> 
    <% if !store_option_types.empty? %> 
    <h1>Add Options!</h1> 
    <%store_option_types.each do |key,value|%> 
     <%= render :partial=> 'option_selection', :locals => {:store_option_type => StoreOptionType.find(key), :options => value}%> 
    <%end%> 
    <%else%> 
    No options available for this order 
    <%end%> 
    <%hidden_field_tag "store_id", @store_item.store_id%> 
    <%hidden_field_tag "store_item_id", @store_item.id%> 
    <%=submit_tag "Add to Cart"%> 
<%end -%> 

То есть форма № 1. Форма № 2 должна начинаться с метода AJAX. Поскольку в настоящее время не возникает ошибка, скорее всего, в коде также есть некорректный блок.

Смежные вопросы