有没有办法在没有模型的情况下创建一个带有formtastic的表单?

我想使用formtastic创建表单但我没有与之关联的模型(使用用户名,密码和openid URL的登录表单)。

当然,我可以创建一个模型来做到这一点,但该模型只是一个黑客,没有任何有用的代码。

您可以传递字符串而不是模型,该模型将用于生成字段名称:

<% semantic_form_for 'user', :url => 'login' do |f| %> <% f.inputs :name => 'Login Details' do %> <%= f.input :username %> <%= f.input :password %> <% end %> <% end %> 

这会产生类似的东西:

 
Login Details

但是你需要更具体地选择你的选项,因为formtastic将无法确定应该使用哪些类型的字段,所有字段都默认为textfields(尽管它会自动将字段命名为password密码类型字段)。

虽然更好的方法是使用会话模型,但请查看authlogic( http://github.com/binarylogic/authlogic )的工作方式以获取更多信息。