روبي على القضبان تمر من المعلمات بين وجهات النظر من link_to الوسم بدلا من submit_tags (وجود كل من في الصفحة)
-
06-07-2019 - |
سؤال
أنا خلق في صفحة الفهرس من روبي على القضبان برنامج قائمة الأكثر شيوعا بحثت عن المصطلحات في قاعدة بيانات ومن ثم في كل مرة يقوم المستخدم بتحديد فئة معينة هذا هو كتابتها إلى قاعدة بيانات أخرى.
ما أود أن إنشاء ارتباط تشعبي وتمرير كمية معينة من المعلمات إلى نموذج مثل وعادة ما يتم مع select_tag ولكن بدلا من ذلك مع ارتباط تشعبي أود أن تمر مجموعة من الحقول المخفية التي لدي على الصفحة وكذلك ما قام المستخدم بتحديده.
لتعطيك فكرة أفضل في الأساس علي البنية التالية في البرنامج:
مدخلات المستخدم البحث على (index.html.erb
), ينقر المستخدم على تقديم الوسم
إجراءات المستخدم إلى search.html.erb
صفحة يتم عرض مجموعة من المكرر فئات + بعض المجالات ، زر إرسال ،
المستخدم إلى closest.html.erb
(الذي يستخدم المعلمات من النموذج السابق من خلال التذرع params[:searchSelected]
وعدد قليل آخر من params.)
وأود أيضا أن إضافة هذه الوظيفة:Mimick هذه العملية نفسها ولكن بدلا من الذهاب في search.html.erb
, أنا النقر على الفعل المكرر البحث فئة على index.html.erb
صفحة (من link_to
نقل كما المعلمات التي link_to اختيار المستخدم + الخفية المجالات.
لدي حاليا هذا الرمز
@stats.each do
|scr|%>
<%= link_to scr.category, :action => 'closest', :id => scr.category%>
لست متأكدا إذا كان هذا هو ذات الصلة ، ولكن لدي حاليا الطرق التالية في بلدي routes.rb
الملف
map.resources :stores, :collection => { :search => :get }
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
أن أي شخص الرجاء مساعدتي من فضلك ؟ هذا هو أول روبي على القضبان المشروع أود حقا أن تجد طريقة للتغلب على هذا من فضلك
المحلول
وأنا لست متأكدا إذا كان هذا هو ما كنت أفكر، ولكن يمكنك إضافة معلمات إضافية إلى العلامة LINK_TO. ثم هم متوفرة في جهاز تحكم. لذلك:
<%= link_to scr.category, :action => 'closest', :id => scr.category, :other_param => "test" %>
وسوف تكون متاحة في وحدة التحكم الخاصة بك.
def closest
params[:other_param] == "test" #this will be true
end
نصائح أخرى
وتمكنت من حل هذا عن طريق اتخاذ params[:id]
ثم وفقا لقيمة إما تعيين القيم الخاصة بي (بدلا من تلك المخفية في index.erb التي كنت قد تعيين يدويا على أي حال) وغير ذلك، ومواصلة كان كالعادة أنا وضعت بحث منتظم
عرض:
<%= link_to obj.ptc_devicename ,"/wiuconfig/hd?idval=#{obj.id.to_s}&val=#{@devicetype}",:value => obj.ptc_devicename,:id =>obj.id %><br/>
تحكم:
@Heading= params[:val]
@id=params[:id]
سوف تكون القيمة معرف 2 ، فال هو @devicetype