#ruby-on-rails #partials
#ruby-on-rails #частичные
Вопрос:
Я не могу заставить свою страницу отображать частичное. Когда я вытаскиваю его на сервер, он вообще не отображает частичное, а просто пропускает его. Нет сообщений об ошибках.
# edit.html.erb
<%= link_to("<< Back to List", {:action => 'list'}, :class => 'back=link')%>
<div class="subject edit">
<h2>Edit Subject</h2>
<%= form_for(:subject, :url => {:action => 'update', :id=>@subject.id}) do |f| %>
<% render :partial => 'form', :locals => {:f => f} %>
<div class="form-buttons">
<%= submit_tag("Update Subject")%>
</div>
<% end %>
</div>
и это _form.html.erb
<table summary="Subject form fields">
<tr>
<th>Name</th>
<td><%= f.text_field(:name) %></td>
</tr>
<tr>
<th>Position</th>
<td><%= f.text_field(:position) %></td>
</tr>
<tr>
<th>Visible</th>
<td><%= f.text_field(:visible) %></td>
</tr>
</table>
Ответ №1:
Вам нужен =
знак:
<%= render :partial => 'form', :locals => {:f => f} %>
(у вас было <% render ....
)
Комментарии:
1. Я не могу поверить, что я это сделал. Снова! Но однажды здесь, чтобы отметить, что в Rails 4 вы можете опустить частичные и локальные значения :
= render 'form', f: f
. Намного короче.2. это распространенная ошибка таких нубов, как я, ду, спасибо, что указали на это