Передача параметров в Ruby on Rails между представлениями из тега link_to вместо submit_tags (имеющих оба на странице) - PullRequest
0 голосов
/ 29 ноября 2009

Я создаю на своей индексной странице моей программы ruby ​​on rails список наиболее часто используемых терминов в моей базе данных и, следовательно, каждый раз, когда пользователь выбирает определенную категорию, он записывается в другую базу данных.

То, что я хотел бы создать гиперссылку и передать определенное количество параметров в форму, как это обычно делается с помощью select_tag, но вместо этого просто с помощью гиперссылки, я хотел бы передать набор скрытых полей, которые у меня есть на страница, а также то, что выбрал пользователь.

Чтобы дать вам лучшее представление, в моей программе, в основном, есть следующая структура:

Пользователь вводит поиск (index.html.erb), пользователь нажимает на тег отправки действие, пользователь переходит на страницу search.html.erb и отображается набор уточненных категорий + некоторые поля, кнопка отправки,

пользователь переходит на closest.html.erb (который использует параметры из предыдущей формы, вызывая params[:searchSelected] и несколько других параметров.)

Я также хотел бы добавить эту функциональность: Имитируйте эту же операцию, но вместо перехода к search.html.erb я бы нажал на уже уточненную категорию поиска на странице index.html.erb (из link_to, передал в качестве параметров, которые link_toto выбран пользователем + скрытые поля .

У меня сейчас есть этот код

@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'

Кто-нибудь, пожалуйста, помогите мне, пожалуйста? это мой первый проект ruby ​​on rails, и я действительно хотел бы найти способ обойти это, пожалуйста

Ответы [ 3 ]

4 голосов
/ 29 ноября 2009

Я не уверен, что вы так думаете, но вы можете добавить дополнительные параметры в тег 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
0 голосов
/ 17 ноября 2010

Вид:

<%= 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]

значение будет равно id 2, а val равно @ devicetype

0 голосов
/ 29 ноября 2009

Мне удалось решить эту проблему, взяв params[:id], а затем в соответствии со значением либо установить свои собственные значения (вместо скрытых в index.erb, который я в любом случае установил вручную), а в противном случае продолжить как обычно я поставил регулярный поиск

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...