Я новичок в рельсах, и это может быть основным вопросом.Я проверил в интернете, но не смог найти простой пример (возможно, мой поиск плох).
Мне нужно создать форму в моем представлении, основанную на выбранном значении и действии нажатия кнопки, которое мне нужно выполнить.конкретное действие в моем контроллере.Я могу создать раскрывающийся список, используя следующие строки:
= form_tag("/rtes", method: "get") do
= label_tag(:q, "Get Trip Type:")
= select_tag(:q, options_for_select({ "a" => "r4d_001", "b" => "r4d_002" })
<br>
= button_to( "Get Trip", :action => "rtes", :controller =>:q)
, где rtes - это мой контроллер, и я сопоставил значение раскрывающихся значений с соответствующими именами действий, которые необходимо выполнить.когда кнопка нажата.Это мой контроллер.
class RtesController < ApplicationController
@@client=OptimusRtesServiceModel.new
def index
end
def r4d_001
result = @@client.r4t_001()
@driver_username = result.trip.loads[0].driver_details[0].driver_user_name
@driver_password = result.trip.loads[0].driver_details[0].driver_password
@trip_id = result.trip.trip_id
@carrier_username = result.carrier_details.carrier_user_name
@carrier_password = result.carrier_details.carrier_password
end
def r4d_002
result = @@client.r4t_002()
@driver_username = result.trip.loads[0].driver_details[0].driver_user_name
@driver_password = result.trip.loads[0].driver_details[0].driver_password
@trip_id = result.trip.trip_id
@carrier_username = result.carrier_details.carrier_user_name
@carrier_password = result.carrier_details.carrier_password
end
end
Теперь, если выбран первый вариант в раскрывающемся списке и нажата кнопка, необходимо выполнить действие «r4d_001» в контроллере.Ваша помощь высоко ценится.