0

パーシャルをレンダリングし、レイアウトなしでレンダリングしています

format.html { render :layout => false }

すべての値が正しく表示され、予想どおり best_in_place で編集できます。ただし、nil 値は空で表示されるため、編集できません (つまり、「-」は表示されません)。特に :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>
4

1 に答える 1

0

私の場合、それは私が使用type: :selectしたcollection:が空だったということでした

だから私は空の選択ボックスのためにそれをキャッチするためにこのようなことをしなければなりませんでした

<%= best_in_place [:admin, resource], :select_attr, type: :select, collection: SelectModel.all.map{|sm| [sm.id, sm.name]}.presence||[nil, 'nil'] %>
于 2014-03-31T02:11:31.973 に答える