我直接和哈姆一起去帕德里诺学习鲁比。
大多数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'
...
这不起作用。(
render
中的/signup
从不执行任何操作。注意,我知道我需要定义我的模型等等;但我正在学习中为此而努力。
与其告诉我我做错了什么,我真正想要的是一个使用表单的相当完整的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
我把这些和其他的样品做了比较,我看不出我到底做错了什么。救命啊! 最佳答案
您可以在这里浏览一些示例站点:https://github.com/padrino/padrino-framework/wiki/Projects-using-Padrino
或者你可以在这里浏览padrinorb.com的资源:https://github.com/padrino/padrino-web
最好的方法也是生成admin:padrino g admin
来查看表单的工作方式。
标签默认执行form
操作,除非指定post
,所以在控制器中必须将:method => :get|:put|:delete
更改为:get
:post
因为您使用的是post :signup, :map => "/signup" do ...
参数,所以要获取电子邮件,您需要将form_for :user
关于ruby - 使用Padrino表单助手和FormBuilder-入门,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8128336/