0

我有一些不直接与任何模型链接的自定义表单(用户声誉)。我有几个影响最终回报值的声誉标准这是表单的代码

<%= form_tag("/add_reputing",:method => "POST") do%>
<div class="reputing_column">
    <p>
        <b>Your feedback:</b>
    </p>
    <p>
        <%= text_area_tag :comment,"",{:class=>"or-form-textarea"} %>
    </p>
    <%= submit_tag("Submit",:class=>"or-button")%>
</div>
<div class="reputing_column">
    <p>
        <b>Recomendation:</b>
    </p>
    <% @criterias.each do |c| %>
    <div class="reputing_row">
        <label><%= c.name%>:</label>
        <div>
            <% (c.rating_from .. c.rating_to).each do |i| %>
            <%= radio_button_tag "reputing_#{c.id}", i%><%= (i<1)? i : "+#{i}"%>
            <% end %>
        </div>
    </div>
    <% end %>
</div>
<% end %>

在控制器中,我需要总结"reputing_#{c.id}"字段的值。然后在用户信誉表中添加一条记录。

在控制器中如何更好、更正确地处理来自此表单的数据?我试图用谷歌搜索这个问题,但一无所获。

4

1 回答 1

0

没有答案,所以我会试着澄清处理,正如你所说的,自定义表单。

这是通过单选按钮选择首选颜色的表单。

= form_for :preferences, url: '', method: :post do |f|
    - %w[black blue white green red yellow].each do |color|
        = f.radio_button :color, color
        = f.label :color, color.capitalize, value: color
    = f.submit

Rails 中的表单很酷的一点是它们可以在有或没有模型的情况下使用。如果您调用了一个实例变量,@preferences则此表单将尊重该变量并调用其上的color方法以确定“当前”颜色。将在生成的表单上选择此颜色。如果这个变量不存在,那也没什么大不了的。

在任何情况下,提交表单后,您都可以通过以下方式访问所选颜色:

params[:preferences][:color]
于 2012-04-28T21:56:01.980 回答