best_in_place не показывает значение ноль, когда нет макета

Я рендеринг частичное и рендеринг без макета

format.html { render :layout => false }

Все значения отображаются правильно и доступны для редактирования с best_in_place, как и ожидалось. Тем не менее, нулевые значения отображаются пустыми и, следовательно, не могут быть отредактированы (т.е. не отображается "-"). Попытка специально использовать параметр:nil не имеет значения.

При отображении макета он отображается правильно, однако я не должен использовать макет. Какие-либо предложения?

Пример кода: Контроллер

def index
....
@user = User.find(params[:user_id])
  respond_to do |format|
    format.html { render :layout => false } 
    format.json { render json: @user }
  end
end

Посмотреть

<td class='centered-cell span2'><%= best_in_place @user, :nick_name, :inner_class => 'span1' %></td>

1 ответ

В моем случае это было то, что я использовал type: :select но collection: был пуст

поэтому я должен был сделать что-то вроде этого, чтобы поймать это для пустого выбора

<%= best_in_place [:admin, resource], :select_attr, type: :select, collection: SelectModel.all.map{|sm| [sm.id, sm.name]}.presence||[nil, 'nil'] %>
Другие вопросы по тегам