formtastic - как предварительно заполнить строку ввода значением - PullRequest
30 голосов
/ 11 января 2010

Я создаю приложение, в котором пользователи могут оставлять комментарии, просто оставляя свои комментарии к электронному адресу.

Я хочу, чтобы они могли регистрироваться непосредственно оттуда по ссылке с адресом электронной почты в качестве параметра
(например: <%= 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 -%>

Я заглянул внутрь formtastic rdoc и внутри своего местного драгоценного камня, но не смог найти никакой возможности для этого.

Предложения кого-нибудь?

Ответы [ 2 ]

70 голосов
/ 11 января 2010

Да, вы сами получили правильный ответ! Rdoc от Formtastic - беспорядок, но мы над этим работаем. Другой вариант, если вы хотите сделать это исключительно на уровне представления, - это использовать параметр :input_html, который дает вам прямой доступ к атрибутам HTML входного тега:

f.input :email, :input_html => { :value => params[:email] }
10 голосов
/ 11 января 2010

иногда самые простые вещи приходят вам на ум, спрашивая их:

подход: выполняйте работу в контроллере, а не в представлении!

if params[:email]
  @user = User.new(:email => params[:email])
else
  @user = User.new
end

извините за беспокойство!

...