Rails 弄不明白 Rails 表单的工作流程

tiseheaini · 2012年02月29日 · 最后由 shawnyu 回复于 2012年03月01日 · 4341 次阅读

怎么也弄不明白 Rails 表单的工作流程,我试了很多方法,可总是说找不到方法,要不就是语法错误,脑袋都大了,求助一下社区 我在模板里写了个表单,表单只有一个输入框和一个 submit 按钮。 代码: 表单的内容是将数据传输给相同控制器的 save 方法。 控制器的代码: 在 index 方法里不知道需要处理写什么,所以只是象征性的创建一个实例变量。 save 方法里,将从表单里传过来的数据放入@table变量里。 save 代码: save 模板里的代码相当简单,只是用一个 puts 方法把@table数据输出 第一次是 index 方法出现问题: 后来将 index 方法中的代码去掉后,截图: 错误依旧: 实在摸不到头绪了,大家帮我看看

sign -> Sign ?

@params -> params ?

是 form_for :weiuser,还是 form_for @weiuser呀?觉得会不会是后者。

一团糟……楼主看的是什么资料?

第一错误是 Sign 没有大写啊,我还以为是 markdown 出问题改的呢。。。。。 这次不是自动生成的吗?怎么楼主用起来还有这个问题 怎么说。。这代码基本都没对,改完当写新的了

#1 楼 @lainuo 什么意思,没弄明白

用 ruby-debug 吧,很方便调试

#6 楼 @Tony 报的异常已经足够定位了

#5 楼 @tiseheaini 就是类名要大写吧,Sign.new而不是 sign.new 这个就是你第一个报错的原因

第二个报错原因应该是你 form_for 用的不对,参数是:weiuser,controller 取参数却是 user

#8 楼 @davidqhr 我觉得 Sign 模型可能都没写,楼主只是以为 SignController 里面有这个东西。

总之是没有参考靠谱的教程,一步一步来。

#9 楼 @Rei 这个有可能。建议楼主去看简单的 demo,帮助很大

@tiseheaini 请珍惜这里的资源,能发代码的就不要传图。

lz 基本都不懂,建议跟个教程走一遍

#8 楼 @davidqhr 控制器的参数和方法参数应该没有错没错。

#9 楼 @Rei 我的 Sgin 模型写了,用命令行 ruby script/genreate 自动生成的。找错误找了一天,可能脑子太乱了,错误很多,谢谢帮忙

#11 楼 @huacnlee 我是新来的,还不知道太多的情况,谢谢提醒

#15 楼 @tiseheaini 要理解 Rails 的 form,可以用浏览器调试工具看看 html 源码,提交表单之后看看服务器端的日志,表单内容会被整理成一个 Hash 列出来,然后通过 params 调用。

#6 楼 @Tony debugger 意义不大,打印内存麻烦。。

#17 楼 @Rei 我发现一个问题,在 save 方法里,我写的是<%= puts @table %> 不论怎么改,就是显示不出来,到后来代码越改越错。刚才我把代码改成 <%= @table %> 后,就正常显示了。为什么 ruby 不解释带 puts 的代码吗?

#19 楼 @tiseheaini puts 输出到标准输出,但是页面不是标准输出,也许到日志去了

#20 楼 @Rei 我原来学的 php,也是 php 入门的,很多用法都是仿 php,这些真不知道,尽出这些低能问题。见笑了

#21 楼 @tiseheaini 建议去看下 codeschool 的 RubyForZombies. 传送门:codeschool

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