سؤال

ولدي وحدة تحكم التي لديها طريقة تسمى التاريخ

class UsersController < ApplicationController

  def history
    User.return_history(params[:id])
  end

end

ولدي ما يلي في ملفي routes.rb

map.resources :users, :shallow => true do |user|
    user.resources :friends, :shallow => false
    user.resources :posts, :collection=>{:no_access => :get}
    user.resources :photos
end

وكيف وأنا أحاول أن أياكس استدعاء الأسلوب تاريخ users_controller.rb؟ باستخدام link_to_remote بالطريقة التالية

link_to_remote 'History', :url=>history_user_path(@user), :update=>"history", :method=>'get'

ويلقي لي history_user_path() الخطأ القول غير موجود. كيف يمكن أن يكون هذا؟ يظهر edit_user_path() أي خطأ ولا حتى تعريف تحرير صراحة في ملف User.rb. شكرا.

هل كانت مفيدة؟

المحلول

وmapresources: المستخدمون يخلق مجموعة من الأساليب المساعد رابط / مسار، بما في ذلك edit_users_path. إذا كنت في حاجة الآخرين. كنت قد حصلت على إضافته إما: عضو، أو: الخيار لجمع map.resources.

وهذا سيتيح لك ان تفعل ما تريد:

map.resources :users, :shallow => true, :member => {:history => :get} do |user|
    user.resources :friends, :shallow => false
    user.resources :posts, :collection=>{:no_access => :get}
    user.resources :photos
end
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top