我有兩個hidden_fields,user_id
和skill_id
Ruby on Rails的:隱藏字段值不插入到數據庫
<%= form_for @skill do |s| %>
<%= s.label :image, "Upload your skill" %>
<%= s.hidden_field :user_id, value: current_user.id %>
<%= s.hidden_field :skill_id, value: params[:id] %>
<%= s.file_field :image, multiple: true %>
<% end %>
在我的控制器我有這樣的:
def reviews
@skill = Skill.new
end
我能拿到skill_id
的值存入我的數據庫,但我無法從user_id
獲取值。在我的Rails控制檯中,我看到user_id
正在通過「技能」,但未顯示在我的數據庫中。
Parameters: {"utf8"=>"✓", "authenticity_token"=>"5+wxS929uxtt..", "skill"=>{"user_id"=>"7", "skill_id"=>"132", ...
我甚至檢查,看看是否我越來越有<%= current_user.id %>
任何價值,對此我。
也許有人可以指導我調試這個問題的正確途徑。
感謝
貴HTML正確顯示用戶ID?在生成的HTML上正確命名的表單字段? – fotanus
它在你的params中顯示爲「user_id」=>「」'這就是爲什麼它沒有傳遞到數據庫。 –
你的'user_id'是否設置在'attr_accessible'?此外,我假設'技能'屬於'用戶'。爲什麼不在你的控制器中使用'@ skill = current_user.skills.new'? – AbM