【发布时间】:2014-02-15 23:47:50
【问题描述】:
我有两个 hidden_fields,user_id 和 skill_id
<%= 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 中的表单字段是否正确命名?
-
它在你的参数中显示为
"user_id"=>"",这就是它没有被传递到数据库的原因。 -
您的
user_id是否设置在attr_accessible中?另外我假设skill属于user。为什么不在控制器中使用@skill=current_user.skills.new? -
@fotanus 是的,它的显示正确且显示值也
-
@KirtiThorat 抱歉,这是一个错字。当我检查时它显示一个值 id
标签: ruby-on-rails ruby ruby-on-rails-3 debugging ruby-on-rails-3.2