У меня есть следующая форма:
<%=form_for [:project, @permission], :url => { :action => "update" } do |f| %>
<% roles = Role.all %>
Role: <%= f.collection_select :role_id, roles, :id, :name, :prompt => true %>
<%=f.submit "Send Request" %>
<%=f.hidden_field :user_id %>
<% end %>
В моем контроллере у меня есть:
def update
@permission = Permission.find_by_user_id(params[:user_id])
.
.
.
end
**То, что я хочу сделать, это обновить role_id ,,,, так что мне нужно выше, чтобы найти запись разрешения ... Проблема ,,, params [: user_id] возвращается ноль?
Я пропалчто-то?спасибо
Обновление
Вот параметры ошибки и запроса, которые показывают, есть ли переменные?
Started POST "/ projects / 3 / permissions/ useronproject "для 127.0.0.1 в четверг, 14 октября 12:17:12 -0700 2010 Обработка с помощью PermissionsController # update как HTML-параметры: {" commit "=>" Отправить запрос "," authenticity_token "=>" KJ2C20MzTJ8VQV0NiNzOr357QKV5hWjeuazOBcS "iPU "U5 "utf8 "=>" ✓ "," id "=>" useronproject ", "missions" => {"role_id" => "1", "user_id" => "11"}, "project_id" => "3"}
Пользовательская нагрузка (0,3 мс) ВЫБРАТЬ «пользователи». * ИЗ «пользователей» ГДЕ («пользователи». «Id» = 1) ПРЕДЕЛ 1
Разрешение нагрузки (0,1 мс) ВЫБРАТЬ"permissions". * FROM "permissions" WHERE ("permissions". "user_id" IS NULL) LIMIT 1
см. - user_id равен NULL?