Rub*_*012 1 ruby-on-rails ruby-on-rails-3
我已升级到rails 3.2.13并且我正在迁移旧应用程序以在新环境中运行(ruby1.9.3).该应用程序与ruby192和rails 3.0.0运行良好.
我在尝试创建新记录时遇到此错误(消防员)
错误的参数数量(3个用于2)
这是我的表格代码
<%= form_for :fire_fighter, @fire_fighter, :url => { :action => "create" } do |f| %>
Run Code Online (Sandbox Code Playgroud)
基于阅读其他帖子,他们建议删除"fire_fighter",但它看起来像这样
<%= form_for :@fire_fighter, :url => { :action => "create" } do |f| %>
Run Code Online (Sandbox Code Playgroud)
这实际上允许页面呈现,但是当我尝试输入填充文本字段并在数据库中提交或创建记录时,我收到一条内置在应用程序中的错误消息:
所有字段都设置为字符串.
哦,显然我在提交之前填写了所有这些字段.所以现在我只是卡住了.
任何帮助将不胜感激.
虽然当您发布页面源代码和表单代码的其余部分时,此答案可能会更改,但您尝试从实例变量创建符号.
<%= form_for :@fire_fighter, :url => { :action => "create" } do |f| %>
Run Code Online (Sandbox Code Playgroud)
注意事项:@fire_fighter.它应该是@fire_fighter.那么应该是正确的代码
<%= form_for @fire_fighter, :url => { :action => "create" } do |f| %>
Run Code Online (Sandbox Code Playgroud)
你使用类似实例变量的原因@fire_fighter是因为在你的控制器中应该有类似的东西
def new
@fire_fighter = FireFighter.new
end
Run Code Online (Sandbox Code Playgroud)
这样,表单直接将实例变量从控制器抓取到表单上.符号不是从控制器到视图的横向,而是实例变量,因此使用方法@fire_fighter作为第一个参数form_for.
| 归档时间: |
|
| 查看次数: |
2807 次 |
| 最近记录: |