Ben ne istediğiniz geçerli çalışmayı düzenlemek için sanırım?
Bu durumda, yollarda ressources
yerine ressource
kullanılması mümkündür.
Bir örnek verelim: StudiesController için
#in routes.rb
resources :studies
resource :study
varsayılan bağlantısıyla İkisi irade ve (. Sizin durumunuzda örneğin değişiklik) aynı eylemler diyoruz ama iki farklı yolları
get "/studies/:id/edit" => "studies#edit"
get "/study/edit" => "studies#edit"
yılında düzenleme eylem
, daha sonra kurulum parametreleri doğru işlemek için olmalıdır:
def edit
@study = params[:id].nil? ? current_study : Study.find(params[:id])
end
Bir yerde bir current_study yöntemine gereksiniminiz olduğunu ve çalışmasını sağlamak için cookie/oturumlarında current_study'yi sakladığınızı unutmayın.
Örnek:
# In application_controller.rb
def current_study
@current_study ||= Study.find_by(id: session[:current_study_id]) #using find_by doesn't raise exception if doesn't exists
end
def current_study= x
@current_study = x
session[:current_study_id] = x.id
end
#... And back to study controller
def create
#...
#Eg. setup current_study and go to edit after creation
if study.save
self.current_study = study
redirect_to study_edit_path #easy peesy
end
end
mutlu kodlama
Yacine.
Böyle düşünmüyorum, herhangi bir paramız geçmeden. – 7urkm3n
Olumsuz oylar hakkında herhangi bir geri bildirim alabilir miyim? Sorumu nasıl geliştirebilirim? – Mirror318