【发布时间】:2011-11-14 21:25:25
【问题描述】:
我通过直接与 Haml 一起去 Padrino 学习 Ruby。
大部分 Padrino 文档都假定您对 Ruby/Sinatra 等具有高水平的知识...
我正在寻找可以浏览的示例,以了解其工作原理。一个特定的场景是做一个简单的表格。在我的主(索引)页面上,我想要一个带有按钮的“注册”编辑框。
#app.rb
...
get :index, :map => "/" do
@user = "test"
haml: index
end
get :signup, :map => "/signup" do
render :haml, "%p email:" + params[:email]
end
...
在我看来:
#index.haml
...
#signup
-form_for @user, '/signup', :id => 'signup' do |f|
= f.text_field_block :email
= f.submit_block "Sign up!", :class => 'button'
...
这不起作用。 (/signup) 中的 render 从不做任何事情。
注意,我知道我需要定义我的模型等...;但我正在努力学习。
与其只是告诉我我做错了什么,我真正想要的是一个相当完整的使用表单的 Padrino 示例应用程序(博客示例仅涵盖了 Padrino 表面积的一小部分)。
我在哪里可以找到大量出色的 Padrino 样品? :-)
编辑
下面的答案有助于为我指出更多示例。但是我仍然对上面的代码有什么问题感到不满。
我在我的黑客攻击中稍微改变了这一点,但我仍然没有正确传递 :email 参数:
#index.haml
...
#signup
- form_for :User, url(:signup, :create), :method => 'post' do |f|
= f.text_field_block :email
= f.submit_block "Sign up!"
...
#signup.rb
...
post :create do
@user = User.new(params[:email])
...
end
编辑添加模型:
#user.rb
class User
include DataMapper::Resource
property :id, Serial
property :name, String
property :email, String
...
end
运行时,params[:email] 始终为 nil。我已经将它与一堆其他样本进行了比较,我看不出我做错了什么。救命!
【问题讨论】: