簡體   English   中英

在Ruby on Rails中使用單選按鈕和link_to

[英]Using radio buttons and link_to with Ruby on Rails

這里是Rails的新手,請多多包涵。

我試圖通過首先列出每個條目的單選按鈕,然后將條目的字段僅作為文本列出表中的一堆條目。

它工作正常,也顯示了我想要的方式。 但是,問題出在我使用按鈕時。 想法是讓用戶選擇一個單選按鈕以選擇特定的配方,然后單擊頁面頂部的通用“添加”,“編輯”,“刪除”按鈕之一以對所選配方執行相應的操作。

到目前為止,這是我的代碼:

<!--Action buttons at the top of page, supposed to communicate with the radio buttons --> 
<%= link_to("Show", {:action => 'show', :id => recipe.id}, :class => 'action show') %>
<%= link_to("Edit", {:action => 'edit', :id => recipe.id}, :class => 'action edit') %>
<%= link_to("Delete", {:action => 'delete', :id => recipe.id}, :class => 'action delete') %> 

<% @recipes.each do |recipe| %>
<tr>
  <td><%= radio_button_tag 'recipe', recipe, @recipe == recipe %></td>
  <td><%= recipe.total_calories %></td>
  <td><%=........15 more fields
</tr>`
<% end unless @recipes.nil? %>

這給我拋出了一個錯誤,即未定義的局部變量或方法“ recipe”。 我明白為什么我得到了錯誤; Ruby並不完全知道用戶通過單選按鈕正在選擇哪種食譜。 有人可以告訴我如何使單選按鈕與操作按鈕通信嗎?

最簡單的方法是創建一個包含動作作為提交按鈕值的表單。 就像是:

<%= form_tag(PATH_TO_YOUR_CONTROLLER) do %>
   <%= submit_tag("Show") %>
   <%= submit_tag("Edit") %>
   <%= submit_tag("Delete") %>

   RECIPE_LIST_HERE
<% end >

然后,您的控制器將需要查找提交了哪些操作和配方(我相信這些將在params [:commit]和params [:recipe]下)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM