hel*_*llo 1 ruby ruby-on-rails devise ruby-on-rails-4
我应该手动将user_id添加到隐藏表单中吗?或者,还有更好的方法?
我有模特:
class Project < ActiveRecord::Base
belongs_to :user
end
class User < ActiveRecord::Base
has_many :projects
end
Run Code Online (Sandbox Code Playgroud)
在我看来:
<%= simple_form_for @project do |f| %>
<%= f.hidden_field :value => current_user.id %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
或者还有另一种方法吗?我想如果模型相互关联,它会自动将user_id添加到项目数据库中吗?
谢谢!
编辑:转换所有项目之旅,所以其他需要帮助的人知道
不.这不应该是形式,因为每个人都可以改变形式的隐藏价值.
假设您使用的是强参数
def create
@project = Project.new(project_params)
@project.save # or something else
end
def project_params
params.require(:project).permit(something_permitted_here)
.merge(user_id: current_user.id)
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
491 次 |
| 最近记录: |