我试图让用户按下按钮,使用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
答案 0 :(得分:0)
问题是您正在使用hidden_field
实例中的form_for
。当你使用它时,传递给控制器的参数会有所不同
尝试使用hidden_field_tag "round_id"
,您将获得预期的结果。