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

StackOverflow https://stackoverflow.com/questions/1814481

Вопрос

Я создаю на своей индексной странице моей программы 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_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'

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

Это было полезно?

Решение

Я не уверен, что это то, о чем вы подумали, но вы можете добавить дополнительные параметры к тегу 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]

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top