2014-12-28 2 views
2

У меня есть страницы редактирования, которая использует semantic_form_for тегПопутных переменные форм для частичного шаблона - Rails 4

<%= semantic_form_for @photog do |f| %> 

Форма получает довольно долго, и я хотел бы, чтобы разбить его на разделы, так что вид более читабельна.

Я пытаюсь создать партиалы внутри шаблона edit.html.erb, такие как

<%= render 'favorite_things', locals: {f: f} %> 

Этот код брейки говоря неопределенную локальную переменную или метод `F» для # < #: 0x007ff5a110abf0>

мне нужно понять, как передать объект ф так, чтобы парциальное можно прочитать и такие вещи, как f.input работы

<!-- favorite things partial --> 
<div class='edit_photog_header'>A List Of Your Favorites</div> 
<%= f.input :fav_lens, :label => "Lens" %> 
<%= f.input :fav_camera, :label => "Camera" %> 
[and so on] 

Th анкс

ответ

7

locals для, когда вы используете render partial.

<%= render partial: path_to_partial, locals: locals_hash %> 

Если вы используете только render, вы должны сделать это:

<%= render path_to_view, locals_hash %> 

Что в вашем случае будет:

<%= render 'favorite_things', f: f %> 
+0

Спасибо. Это именно то, что я искал. –

+0

Я бы, но у меня не было достаточно очков репутации –

0

В частичных вы можете использовать переменные установлен в контроллере (например, @photog). Вам не нужно добавлять какие-либо атрибуты в метод «render»

Смежные вопросы