我想在添加到购物车按钮旁边添加一个收藏夹按钮。添加到购物车按钮恰好实现为表单提交按钮,而收藏按钮调用远程ajax调用,完全与后端无关。最喜欢的按钮在其他页面上工作得非常漂亮,但当我把它放在“添加到购物车”按钮旁边时,它会突然变成一个提交表单按钮!
<%=submit_tag "Add to Cart"%> | <%=get_fav_store_item_button(@store_item,@current_user)%>
有人建议我仍然在表单块中,但是当我在提交后添加结束时,我得到错误“意外关键字确保”。以下是违规&lt;%end%&gt;的整个表单:
<%=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)%>
根据要求,收藏按钮脚本:
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 :(得分: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方法开头。因为现在没有抛出错误,所以代码中的其他位置也可能存在未对齐的块。