在我的ruby on rails网站上,我展示了我希望允许用户将列表添加到心愿单的列表。我的商品详情 has_many 愿望清单,以及我的心愿单模型 has_and_belongs_to_many 商品信息。
我的 add_listing_to_a_wishlist.html.erb 文件如下所示:
<table>
<tbody>
<% @wishlists.each do |wishlist| %>
<tr>
<%= radio_button_tag("wishlist[id]", wishlist.id) %>
<%= wishlist.name %>
</tr>
<% end %>
</tbody>
</table>
<%= link_to "Add listing to selected wishlist", wishlist_path %>
使用可点击的单选按钮成功检索并显示每个心愿单。我想将所选的心愿单(选定的单选按钮)传递到链接:
<%= link_to "Add listing to selected wishlist", wishlist_path %>
在我的列表控制器中,我有一个 add_listing_to_wishlist 功能,我计划使用相应列表和心愿单的ID来添加列表。它看起来像:
def add_listing_to_wishlist
@listing = Listing.find(params[:id])
@wishlists = Wishlist.find(params[:id])
# [Logic for saving listing to wishlist here]
end
如何有效地将选定的心愿单从UI传递到此功能?
我是Ruby on Rails和前端开发的新手,所以我可能错过了一个简单的概念;任何指针都非常感激。
答案 0 :(得分:1)
您需要将名称保留为所需的参数并更改值
<table>
<tbody>
<% @wishlists.each do |wishlist| %>
<tr>
<%= radio_button_tag("wishlist", wishlist.id) %>
<%= wishlist.name %>
</tr>
<% end %>
</tbody>
</table>
在控制器中
def add_listing_to_wishlist
@listing = Listing.find(params[:id])
@wishlists = Wishlist.find(params[:wishlist])
# [Logic for saving listing to wishlist here]
end
答案 1 :(得分:1)
我不知道也许我的方式不好,但它对我有用。只需在代码中添加表单即可。
<%= form_tag wishlist_path, method: :patch, remote: true do %>
<table>
<tbody>
<% @wishlists.each do |wishlist| %>
<tr>
<%= radio_button_tag("wishlist[id]", wishlist.id) %>
<%= wishlist.name %>
</tr>
<% end %>
</tbody>
</table>
<%= submit_tag 'Add to wishlist', class: 'btn btn-primary' %>
<% end %>