通过form_tag传递params的麻烦

时间:2013-06-21 00:02:47

标签: ruby-on-rails forms

我的应用程序中的表单标签出现问题。

我的用户/显示页面上有一个form_tag。以下代码不会传递任何错误,但它不会写入数据库。从我可以告诉我需要将@position_game_stat添加到我的form_tag,因为我的表单将数据作为零。

用户/ show.html.erb

<%= form_tag({:controller => "position_game_stats", :action => "create"}, :method => "post") do %>

<%= label_tag :at_bats %><br /> <%= number_field_tag :at_bats %> <%= submit_tag("submit") %> <% end %>

创建

下的position_game_stats控制器
  

@position_game_stat = PositionGameStat.new(params [:position_game_stat])

这是服务器日志

  

于2013-06-20 17:55:47 -0500开始发布“/ position_game_stats”for 127.0.0.1   由PositionGameStatsController处理#create as HTML     参数:{“utf8”=&gt;“✓”,“authenticity_token”=&gt;“C2FJNDfVPILGx05DI2XqRO5wjC79Of7W4SoLvVpnh + 4 =”,“user_id”=&gt;“{:value =&gt; 1}”,“date”=&gt; { “year”=&gt;“2013”​​,“month”=&gt;“6”,“day”=&gt;“20”},“at_bats”=&gt;“666”,“点击”=&gt;“6” ,“runs”=&gt;“6”,“double”=&gt;“6”,“triples”=&gt;“6”,“homeruns”=&gt;“6”,“steals”=&gt;“6” ,“walking”=&gt;“6”,“strike_outs”=&gt;“6”,“commit”=&gt;“提交”}      (0.1ms)开始交易     SQL(0.5ms)INSERT INTO“position_game_stats”(“at_bats”,“created_at”,“date”,“double”,“hits”,“homeruns”,“runs”,“steals”,“strike_outs”,“triples” ,“updated_at”,“user_id”,“行走”)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)[[“at_bats”,nil], [“created_at”,星期四,2013年6月20日22:55:47 UTC +00:00],[“date”,nil],[“double”,nil],[“hits”,nil],[“homeruns” ,nil],[“run”,nil],[“steals”,nil],[“strike_outs”,nil],[“triples”,nil],[“updated_at”,Thu,2013年6月20日22:55: 47 UTC +00:00],[“user_id”,nil],[“walk”,nil]]      (163.5ms)提交事务     用户负载(0.2ms)SELECT“users”。* FROM“users”WHERE“users”。“id”= 1 LIMIT 1

先谢谢...

1 个答案:

答案 0 :(得分:0)

我认为您可以使用form_for标记。

查看

<%= form_for @position_game_stat do |f| %>
  <%= f.number_field :at_bats %>
  <%= f.submit  %>
<% end %>

控制器

def new
  @position_game_stat = PositionGameStat.new
end