Ruby on rails 无法通过带有form_标记的参数

Ruby on rails 无法通过带有form_标记的参数,ruby-on-rails,forms,Ruby On Rails,Forms,我的应用程序中的表单标签有问题 我的用户/显示页面上有一个表单标签。以下代码不会传递任何错误,但不会写入数据库。据我所知,我需要将@position\u game\u stat添加到我的表单标签的某个地方,因为我的表单将数据设为nil user/show.html.erb <%= form_tag({:controller => "position_game_stats", :action => "create"}, :method => "post") do %>

我的应用程序中的表单标签有问题

我的用户/显示页面上有一个表单标签。以下代码不会传递任何错误,但不会写入数据库。据我所知,我需要将@position\u game\u stat添加到我的表单标签的某个地方,因为我的表单将数据设为nil

user/show.html.erb

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

将游戏统计控制器放置在“创建”下

@position\u game\u stat=PositionGameStat.newparams[:position\u game\u stat]

这是服务器日志

2013年6月20日17:55:47-0500,开始了127.0.0.1的赛后/位置统计 由PositionGameStatsController处理创建为HTML 参数:{utf8=>✓, 真实性令牌=>C2FJNDFFPILX05DI2xQRO5WJC79Of7W4SOLVVPNH+4=,用户id=>{:value=>1},日期=>{年=>2013年,月=>6,日=>20},at=>666,点击=>6次,跑步=>6次,双打=>6次,三打=>6次,全垒打=>6次,抢断=>6次,步行=>6次,罢工=>6次,提交} 0.1ms开始事务 SQL 0.5ms在击球时插入位置、比赛状态、创建时间、日期、双打、安打、本垒打、跑动、抢断、三振出局、三振出局、更新时间、用户id、步行值、、、、、、、、、、、、?、、、、、、、?[[at_bats,nil],[created_at,Thu,2013年6月20日22:55:47 UTC+00:00],[date,nil],[Double,nil],[hits,nil],[homeruns,nil],[runs,nil],[strike_outs,nil],[triples,nil],[2013年6月20日22:55:47 UTC+00:00],[user_id,nil],[walks,nil]] 163.5ms提交事务 用户加载0.2ms从users.id=1的用户中选择用户。*限制1


感谢高级…

我想你可以用表单作为标签

看法


非常感谢。我试图避免使用form_,因为这种form_标记方法允许我使用我现有的控制器代码,但由于我似乎无法让参数将其作为@position_game_stat传递给我,我想我会接受你的建议。我想你正在寻找这个。你需要筑巢:像位置、游戏、状态一样的击球手。
<%= form_for @position_game_stat do |f| %>
  <%= f.number_field :at_bats %>
  <%= f.submit  %>
<% end %>
def new
  @position_game_stat = PositionGameStat.new
end