Ruby on rails 未知属性';成绩';寻求反馈
我有以下错误: “赞扬“成绩工作”以获得反馈。” 链接中是rails控制台的屏幕,发送的参数包括:Ruby on rails 未知属性';成绩';寻求反馈,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有以下错误: “赞扬“成绩工作”以获得反馈。” 链接中是rails控制台的屏幕,发送的参数包括: "{" feedback "=> {" anotations "=>" Holiiii "," score "=>" 12 " 1 "," user "=>" # <User: 0x007f4674123f38> "}}" 反馈控制器: def create @feedback = Feedback.new(feedback_params)
"{" feedback "=> {" anotations "=>" Holiiii "," score "=>" 12 " 1 "," user "=>" # <User: 0x007f4674123f38> "}}"
反馈控制器:
def create
@feedback = Feedback.new(feedback_params)
respond_to do |format|
if @feedback.save!
format.html { redirect_to @feedback, notice: 'Feedback was successfully created.' }
format.json { render :show, status: :created, location: @feedback }
else
format.html { render :new, notice: 'Feedback was not created.' }
format.json { render json: @feedback.errors, status: :unprocessable_entity }
end
end
end
def feedback_params
params.require(:feedback).permit(:anotations, :score, :gradework, :user)
end
视图:
科门塔里奥:
分数:
特西斯:
“Ninguno”,类:“表单控制”,名称:“反馈[成绩]”)%>
阿格雷戈
我不知道怎么了 您应该有两件事来创建成绩工作条目以及您视图中的反馈条目:
属于反馈
模型中的成绩工作
feedback[gradework\u attributes]
,而不是feedback[gradework]
问题似乎在这里:
<%= select_tag(:gradework, options_from_collection_for_select(@grad_jury ,:id, :name), :prompt => "Ninguno", class: "form-control", name: "feedback[gradework]") %>
这将把
gradework\u id
作为参数发送,无论在select
中选择了什么值,请尝试设置gradework
而不是视图中的gradework\u id
。您可以共享您的视图吗(new.html.erb
)?现在添加视图,这是查询“def self.users\u gradework(id)joins(:users)。选择(“gradeworks.id,gradeworks.name,gradeworks.description”)。其中({users:{id:id})end“关系是”has_和_属于_many:gradeworks当我更改关系时,我得到以下错误“预期成绩(#699702355955560),获得字符串(#15868000)”。按成绩id更改成绩,但错误仍在继续。@SebastianMoralesGarzón在错误屏幕中,您现在在参数方面得到了什么:?如果是这样,还有一个细节,非常感谢
def create
@feedback = Feedback.new(feedback_params)
respond_to do |format|
if @feedback.save!
format.html { redirect_to @feedback, notice: 'Feedback was successfully created.' }
format.json { render :show, status: :created, location: @feedback }
else
format.html { render :new, notice: 'Feedback was not created.' }
format.json { render json: @feedback.errors, status: :unprocessable_entity }
end
end
end
def feedback_params
params.require(:feedback).permit(:anotations, :score, :gradework, :user)
end
<form role="form" id="newForm" action="/feedbacks" method="post">
<div class="form-group">
Comentario:<br>
<textarea type="text" rows="5" class="form-control"
id="inputAnotations" placeholder="Ingrese su comentario" name="feedback[anotations]" required></textarea>
<br><br>
</div>
<div class="form-group">
Score:<br>
<input type="number" class="form-control" name="feedback[score]">
</div>
<div class="form-group">
<label for="gradework">Tesis:</label>
<%= select_tag(:gradework, options_from_collection_for_select(@grad_jury ,:id, :name), :prompt => "Ninguno", class: "form-control", name: "feedback[gradework]") %>
</div>
<div class="form-group">
<%#User:<br>%>
<input type="hidden" class="form-control" name="feedback[user]" value= <%= @cUser %>>
</div>
<br><br>
<button type="submit" class="btn btn-default" data-dismiss="">Agregar</button>
<!-- <input type="submit" value="Agregar"> -->
</form>
<%= select_tag(:gradework, options_from_collection_for_select(@grad_jury ,:id, :name), :prompt => "Ninguno", class: "form-control", name: "feedback[gradework]") %>
<%= select_tag(:gradework_id, options_from_collection_for_select(@grad_jury ,:id, :name), :prompt => "Ninguno", class: "form-control", name: "feedback[gradework_id]") %>