我这里有一个表格:如何修复Rails拒绝从表单发送的参数?
<%= form_for(portfolio) do |f| %>
<% if portfolio.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(portfolio.errors.count, "error") %> prohibited this portfolio from being saved:</h2>
<ul>
<% portfolio.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<%= f.hidden_field :user, value: @user[0]['user_id']%>
<div class="field">
<%= f.label :name %>
<%= f.text_field :name %>
</div>
<div class='field'>
<%= f.label :balance %>
<%= f.number_field :balance %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
这形式使用隐藏字段发送用户信息的组合控制器。当时的投资组合创建方法用于
def create
@portfolio = Portfolio.new(portfolio_params)
respond_to do |format|
if @portfolio.save
format.html { redirect_to @portfolio, notice: 'Portfolio was successfully created.' }
format.json { render :show, status: :created, location: @portfolio }
else
format.html { render :new }
format.json { render json: @portfolio.errors, status: :unprocessable_entity }
end
end
end
,它运行的是我在这里控制器所定义的参数测试:
def portfolio_params
params.require(:portfolio).permit(:user, :name, :balance)
end
当我试图创建一个新的投资组合形式我得到这个错误信息: 用户(#70102221612560)预期,得到了字符串(#46914422996540)
这里的错误 Rails error
截图3210Rails期待我以某种方式发送当前用户模型作为参数吗?这是说这是一种不匹配的类型,但我不确定在何处为预期参数设置“类型”。