Rails 新人请教关于 ViewHelper 的问题!卡住啦~烦躁中

BBQ · 2012年03月28日 · 最后由 BBQ 回复于 2012年03月28日 · 2804 次阅读
<% @products.each do |product| %>
   <ul>
       <li><%= image_tag(product.image_url) %> <%= f.radio_button_tag 'a', product.id %> <%= sanitize(product.description) %> &raquo;</li>
   </ul>
<% end %>

以上代码是循环出 产品图片 产品描述

问题一:比如循环出 4 个产品描述,每个产品描述需要加上单选按钮,让客户选择其一(如上代码,不一定写的对)。那我怎么再用 formHelp 提交客户选择的product.id到下一个 action 呢?(下一个 action 需要用到客户选择出来的 product.id 在做判断)这个应该怎么写?

问题二:因为是循环出来的 radio,我因该怎么加预设 checked?

如果用 simple_form_for

View:

= simple_form_for @product do |f|
  = f.association :descriptions, :as => :radio_buttons
  = f.button :submit

Model:

class Product
  has_many :descriptions
end

class Description
  belongs_to :product
end

@linjunpop 我只有一个 product.rb 的 models products 表的字段是 category | title | image_url | description

问题 1:用 submit 标签提交。

<%= form_tag "/controller/action" do%>
<% @products.each do |product|%>
    <%=radio_button_tag "a", product.id, false, :id => "a_#{product.id}"%>
<%end %>
<%= submit_tag "submit"%>
<%end%>

问题 2:直接把 id 作为 checked 值。提交就根据 params[:a] 知道选中了哪个 id 了。

<%= f.radio_button_tag 'a', product.id %>
radio_button_tag不是formhelper的方法。radio_button才是吧。

radio_button_tag(name, value, checked = false, options = {})

http://apidock.com/rails/ActionView/Helpers/FormTagHelper/radio_button_tag

@huyong36 这个 cool 我试试看!

@Rei 谢谢~好好学习一下!

@huyong36 非常感谢,ok 了!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号