新手问题 render locals 有点诡异--关闭

yangman_wenzhu · 2015年02月02日 · 最后由 yangman_wenzhu 回复于 2015年02月02日 · 2031 次阅读

render 按照以下写法有什么错误么?实在不解。

rails 2.3.5
ruby 1.8.7

form.html.erb
  <%= render(:partial => "fields", :locals => {:people => m, :type1 => "1"}) %>

_fields.html.erb
    <%= people.hidden_field :type1, :value => type1 %>
  或 <%= people.hidden_field :type1, :value => "#{type1}" %>

错误信息
~~wrong number of arguments (0 for 1)~~
undefined local variable or method `type1' for #<ActionView::Base:0x10b0b1bc8>

那里写错了 ? 当 locals 不加上 t 参数时 fields 模板渲染的就没有问题 😕

我应该怎么解决这样的问题呢?

问题已解决,多谢各位鼎力相助。是自己粗心了 因为 form 所在的 model 里没有 type1 这个字段

f t 这样的变量名过几天你还记得什么意思吗?

#2 楼 @Rei 哦 名字换了 还是出一样的错误:ruby undefined local variable or method `type1' for #<ActionView::Base:0x10b0b1bc8>

#3 楼 @yangman_wenzhu 打少冒号之类。

undefined local variable or method `type1'

#5 楼 @huobazi 明白你的意思,帖子已经更新,变量名称更换了,上下文一样。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号