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'] %>