Ruby on rails 将参数从隐藏字段保存到模型

Ruby on rails 将参数从隐藏字段保存到模型,ruby-on-rails,ruby,ruby-on-rails-3.2,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 3.2,Ruby On Rails 4,我正在尝试将服务名称从隐藏字段保存到servicebooking模型中的服务名称列。服务部有很多服务预订,有人能帮忙吗 ///使用新的服务预订路径传递要保存在服务预订模型中的服务\u名称 <%= link_to 'Book this service', new_servicebooking_path(service_name: @service.name) %> //服务编辑表单 <%= f.hidden_field :service_name, @service.try(:

我正在尝试将服务名称从隐藏字段保存到servicebooking模型中的服务名称列。服务部有很多服务预订,有人能帮忙吗

///使用新的服务预订路径传递要保存在服务预订模型中的服务\u名称

<%= link_to 'Book this service', new_servicebooking_path(service_name: @service.name) %>
//服务编辑表单

<%= f.hidden_field :service_name, @service.try(:name)  %>
<%= f.hidden_field :service_name  %>

当前servicebooking模型中未保存任何服务名称???

服务模型的主键是名称而不是id吗?如果不是,我相信上面的代码在执行
@service=service.find(params[:service\u name])

你可以试试这个

服务内预订控制器

def new
  @service = Service.find_by_name(params[:service_name])
  @servicebooking = @service.servicebookings.new(service_name: params[:service_name])
end
在servicebookings中编辑表单

<%= f.hidden_field :service_name, @service.try(:name)  %>
<%= f.hidden_field :service_name  %>

感谢您的回答,Ahmed,在运行代码时,我得到了以下命名错误:由我的servicebookings控制器创建方法中的以下行引发的nil:NilClass的未定义方法“servicebookings”:@servicebooking=current_user.servicebookings.build(参数[:servicebooking].permit(:date,:time,:service\u name,:service\u id,:user\u id))知道它为什么不保存吗?这意味着当前用户为零,因此
当前用户。servicebookings
引发了此错误。请确保有登录用户。
<%= f.hidden_field :service_name  %>