0

我试图让用户按下一个按钮,使用 hidden_​​field 在数据库中创建一个新条目。但是,我确实想传递给数据库的一点信息并没有在那里。

视图上的表格

<%= form_for(current_user.rounds.build(:round_id => '201202')) do |f| %>
    <div><%= f.hidden_field :round_id %></div>
    <%= f.submit "Register", class: "btn btn-large" %>
<% end %>

控制器

def create
    @register = current_user.rounds.build(params[:round_id])
    if @register.save
        redirect_to root_path, :flash => { :success => "Registered" }
    end
end

然而,这段代码在数据库中创建了一个带有 user_id 但没有 round_id 的新条目。

有人可以告诉我我的错误在哪里吗?

谢谢

编辑:我的视图代码生成的html代码

<form id="new_round" class="new_round" method="post" action="/rounds" accept-charset"UTF-8">
    <div>
        <input id="round_round_id" type="hidden" value="201202" name"round[round_id]">
    </div>
    <input class"btn brn-large" type"submit" value="Register" name="commit">
</form>

圆形模型

Class Round < ActiveRecord::Base
    attr_accessible :user_id, :round_id, :score

    belongs_to :user
end
4

1 回答 1

0

问题是您正在hidden_fieldform_for实例中使用。当您使用它时,传递给控制器​​的参数会有所不同。
尝试使用hidden_field_tag "round_id",您将获得预期的结果。

于 2012-07-05T23:43:59.323 回答