formtastic - 如何使用值预填充字符串输入

ern*_*son 30 ruby-on-rails formtastic

我正在构建一个应用程序,用户只需将电子邮件留给评论即可发表评论.

我希望他们能够直接从那里注册,通过链接与他们的电子邮件地址作为参数
(如:)<%= link_to register_path(:email => @comment.email %>- 所以还没有现有的用户记录.
这应该form.input通过:value选项将值应用于字段来完成.

但是以下代码不起作用!

<%- if params[:email] -%>
  <%= f.input :email, :required => true, :value => params[:email] %>
<%- else -%>
  <%= f.input :email, :required => true %> 
<%- end -%>
Run Code Online (Sandbox Code Playgroud)

我看了一下formtastic rdoc里面和我当地的宝石,但找不到任何选择.

有人建议吗?

Jus*_*nch 72

是的,你自己得到了正确答案!Formtastic的rdoc是一团糟,但我们正在努力.如果您纯粹希望在视图级别使用此:input_html选项,则另一个选项是使用该选项,该选项允许您直接访问输入标记的HTML属性:

f.input :email, :input_html => { :value => params[:email] }
Run Code Online (Sandbox Code Playgroud)


ern*_*son 10

有时通过询问它们会让您想到最简单的事情:

方法:在控制器中完成工作而不是视图!

if params[:email]
  @user = User.new(:email => params[:email])
else
  @user = User.new
end
Run Code Online (Sandbox Code Playgroud)

对不起,打扰你!

  • 或者简单地说:`@ user = User.new(:email => params [:email])`如果它是零,最终结果是相同的.除非@user初始化设置电子邮件. (2认同)