Ruby on rails 隐藏字段中的Rails参数赢得';t传递给控制器
我有一个搜索控制器,在其中我从params获取客户端Ruby on rails 隐藏字段中的Rails参数赢得';t传递给控制器,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我有一个搜索控制器,在其中我从params获取客户端 def show @client = Client.find(params[:id]) @training_session = @client.training_sessions.new end 在我试图传递客户机id值的表单中: <%= form_for @training_session do |f| %> <% binding.pry %> <%= f.hidden_field :clie
def show
@client = Client.find(params[:id])
@training_session = @client.training_sessions.new
end
在我试图传递客户机id值的表单中:
<%= form_for @training_session do |f| %>
<% binding.pry %>
<%= f.hidden_field :client_id, value: @client.id %>
为什么客户端id参数没有从表单传递?首先查看视图生成的HTML表单。 但是,在控制器中,您应该将客户端id设置为:
training_session_params = params.require(:training_sessions).permit(:client_id)
client_id = training_session_params[:client_id]
因为表单是为TrainingSession模型而不是客户机模型创建的
training_session_params = params.require(:training_sessions).permit(:client_id)
client_id = training_session_params[:client_id]