مشکل در آبدیت کردن دیتابیس و دلیت کردن

درود خدمت شما
من یک پروژه جدیدی رو با مونگو دیبی شروع کردم
الان می تونم نمایش بده هرچی تو دیتابیس مورد نظر هست
یا به اون اضافه کنم

ولی در ویرایش متاسفانه ارور زیر را می دهد و همینطور حذف یا دستروی

Unknown action
The action '5608caf917d2ea25cc000005' could not be found for UsersController

به تصویر بالا نگاه کنید کد های ادیت نگاه بکنید حتی پیدا می کنه فیلد مورد نظر رو و تغییر می دم و روی دکمه ثابمیت می زنم ارور بالا رو می ده

کدی که در کنترلر برای shwo نوشتم به شرح زیر هست

  @user = User.find(params[:id])

اگر دوستان به بنده کمک کنند ممنون می شم نمی تونم چیزی رو ویرایش بکنم

خود پروژه رو گیت کردم
https://github.com/shahryarjb/uni

با تشکر از دوستان

درود دوستان مثل اینکه این مورد دسترسی نداشت من توی فایل های روتس رفتیم همه مسیر هارو حذف کردم بجاش

  match ':controller(/:action(/:id))', :via => [:get, :post]

اینو گزاشم حل شد
چطور می شه

  resources :users

چطور می شه دستور بالا رو بهش فهموند که دلیت یا دستروی و ادیت رو پشتیبانی کنه ؟

بخاطر اینکه قبلا گفتیدmatch خوانایی کد رو پایین می یاره می خواستم ازش استفاده نکنم

resources :users, only: [:show]
1 پسندیده

متاسفانه وقتی این خطی که دادید رو برای یوزر فعال می کنم و کد زیر رو کامنت می کنم که از کد جدید استفاده کنم

match ':controller(/users_controller/:action(/:id))', :via => [:get, :post]

خط زیر ارور می ده

  <%= link_to(raw("<span class='glyphicon glyphicon-plus'></span>") + "Add New Subject", {:action => 'new'}, :class => 'btn btn-primary') %>

ارور دریافتی به شرح زیر هست

No route matches {:action=>"new", :controller=>"users"}

ولی اگر کد بالا یعنی match فعال باشه مشکلی وجود نداره

اون کدی که من دادم یه resource به اسم users رو معرفی می کنه همین. فکر می کنم دنبال routing دینامیک می گردین. اگه اینطور هست بهتون پیشنهاد می کنم تا دلیل خوبی برای اینکار ندارید، اننجامش ندید. چون هم خوانایی کد رو پایین می آره هم کندتر از حالت عادی هست و دیباگ کردنش هم سخت تره.

1 پسندیده

درود خدمت شما ببخشید من متوجه نشدم :smiley:

الان باید برای مواردی که به ویرایش یا اضافه کردن می رسه از

resources

استفاده کنم یا

match ':controller(/users_controller/:action(/:id))', :via => [:get, :post]

تا هم خوانایی فایل بالا بره و هم اینکه برای هر بخش باشه ؟ چون در ویدیو ها آموزشی و همینطور سایت ها دیدم برای بخش هایی که ویرایش داره یا اضافه کردن و حذف می یاند از resources استفاده می کنند ولی من هرکاری می کنم نمی شه

به عنوان مثال من وقتی دستی می یام برای چند بخش به این صورت انجام می دم

    get 'users/edit'
  get 'users/delete'
  get 'users/new'
  get 'users/show'

یا موردی رو put یا post می زارم مخصوصا اونایی که ویرایش یا حذف هستند این عکس زیر می یاد ( ارور )

الان من گیج شدم دقیقا باید چیکار کنم اون آموزش روتس ۳۰ باری بالا پایین کردم حتی بیشتر :smiley: بعد اومدم سورس همین انجمن پرسش پاسخ دیسکورس هم دیدم همه جا از ریسورس استفاده کرده

شما به این باگ برخورد می کردید یا برنامه نویس پروژه بودید بودید چی استفاده می کردید؟

چون من حتی نمی تونم از مواردی مثل

<%= link_to "Edit", edit_user_path(user.id) %>

حتی برای دکمه هام استفاده کنم این مشکلات لینک داره واقعا خسته کننده می باشه

به صورت مثال در یک قطعه کد دیگه من رفتم برای تغییر اساسی و اون match رو کلا پاک کردم از ریسورس استفاده کردم و لینک هامو تغییر دادم به موارد زیر که می تونید ببنید در عکس بازم مشکل دارم یعنی حدودا ۲هزار تا خط کد رو قرار دادم پاک کردم :frowning:

یا مثلا

در صورتی که این کد در ایندکس وجود داره

 def index
    @usersindex = User.all
    @titelpage = "مدیریت کاربران"
  end

اینم مسیر routs

اینم کد های داخل روتس

get "users" => "users#index"
  get "admin" => "admin#index"

  resources :user, only: [:index, :create, :update, :destroy, :new], :via => [:get, :post] do
        collection do
          get "edit"
          get "new"

        end
      end
  root "admin#index"

یا برای تست اومدم حتی @user رو استفاده کردم که مورد زیر رو می ده

دیگه حسابی گیج شدم :d

و

درود این مورد یکی از دوستان عزیز راهنمایی کرد کلا کد های رو تغییر دادم مشکل حل شد
تو گیت هاپ کامیت کردم

درود تنها مشکلی که مونده

<%= link_to "delete", delete_user_path(usersindex) %>

کار نمی کنه برای حل این مشکل اگر راهنمایی کنند ممنون می شم بلخره خیلی از مشکلات حل شد

درود خدمت دوستان کل مشکلات حل شد شاید های دیگه هم مشکل داشته باشند تا وقتشون گرفته نشه

به واسطه دوستان در این زمینه کمک کردند کد هارو کلا ویرایش کردم و در لینک زیر قرار دادم
https://github.com/shahryarjb/uni

1 پسندیده