У меня две проблемы с этим кодом. Во-первых, независимо от того, какую опцию я выбираю в раскрывающемся меню, она не обновляется до базы данных при щелчке для отправки формы, но когда я обновляю страницу, она обновляет запись с идентификатором 1. Я просто хочу обновить запись, которую пользователь выбирает из выпадающего меню. Для этого конкретного раскрывающегося списка нет связанной модели. @user_requests - та же модель, что и user_request, только с записями, отфильтрованными по сайту пользователя. Таким образом, пользователь видит только записи для своего сайта. Тем не менее, им все равно нужно выбрать опцию, и эта опция должна быть захвачена params [: id], которой в настоящее время не является по какой-то причине:
Пользователь запрашивает контроллер:
def confirm
x = current_user.contact.contactable
@user_requests = UserRequest.find(:all, :conditions => ["location_id = ?", x])
if @user_request = UserRequest.find(params[:id])
update_confirm
end
end
def update_confirm
@user_request.creator_id = current_user.contact.contactable
@user_request.save
end
end
Форма подтверждения.erb:
<% form_for(:user_request, :url => {:action => :confirm}) do %>
Request: collection_select(:user_request, :id, @user_requests, :id, :request_status_id) <br />
Password: <%= password_field_tag :password %> <br />
<%= submit_tag 'Confirm Request' %>
<% end %>
маршруты:
map.resources: user_requests,: member => {: verify =>: any}
Для этой части прямо здесь: if @user_request = UserRequest.find (params [: id])
Я хотел бы захватить вариант, выбранный пользователем.
Какие-либо предложения? Спасибо.