Есть ли способ использовать simple_form в show.html.erb - PullRequest
4 голосов
/ 06 мая 2011

Я потратил значительное количество времени на создание формы в simple_form.Там было 96 полей!Я разбил форму на разных этапах.Каждый шаг сделан как частичный.

Теперь я должен подготовить форму для show.html.erb.Я думал, что рендеринг тех же самых частичек будет просто показывать форму пользователю, но, конечно, если я попытаюсь сделать это, я получу ошибку вроде:

undefined local variable or method `f' for #<#<Class:0xb6d8712c>:0xb6d85f20>

Большинство моих частичных кодов имеют код, подобный приведенному ниже:

<%= f.input :name, :label=>"Preferred Name",:label_html => {:class => "form_label"}%>

Я просто пытаюсь использовать проделанную мной работу вместо того, чтобы снова кодировать все поля для show.html.erb

Есть ли какие-нибудь приемы, которые я могу использовать здесь?

1 Ответ

3 голосов
/ 06 мая 2011

Вы должны отправлять show.html.erb form_for переменную построителя при рендеринге частичного:

#show.html.erb
<%= simple_form_for @something do |builder| %>
  <%= render :partial => 'somepartial', :locals => { :f => builder } %>
  ...
<% end %>

#_somepartial.html.erb
<%= f.input :name, :label=>"Preferred Name",:label_html => {:class => "form_label"} %>
...