我直接和哈姆一起去帕德里诺学习鲁比。
大多数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/

10-15 02:59