almak modeli nesnesini genişletmek olamaz: o ilk satırı bir TypeError: no implicit conversion of Symbol into Integer
yükselttiğiniRaylar rota Şöyle benim görünümden birinde bir form var kimliği
<% form_for @user, url_for(:controller => :users, :action => :admin_edit, :id => @user.id) do |f| %>
<%= f.select 'Confirmed', [['Yes', true], ['No', false]] %>
<%= f.submit 'Update' %>
<% end %>
. I ,'u düşünün, çünkü rotanın (aşağıdaki) bir ID'ye ihtiyacı vardır, ancak ihtiyaç duyduğu kimliği bulamamaktadır.
users#admin_edit
yöntemi şu anda boş bir tanımdır. bunu işaret eden yoldur: Söz konusu
post 'admin/users/:id/edit', to: 'users#admin_edit'
@user
nesne
@user = User.find(params[:id])
yüzden :id
nitelik kesinlikle ayarlanır kullanılarak ayarlanır; Bunu konsol ile doğruladım.
Kimliği açıkça url_for
numaralı belgeden geçirdiğim için, neden kimliğini almak için rota @user
nesnesini genişletmiyor? Ya da olabilir, ve konu tamamen başka bir yerde mi?