我有以下錯誤:未知屬性「gradework」的反饋
"tribute 'gradework' for Feedback."
在鏈接是Rails控制檯的屏幕和發送的參數是:
"{" feedback "=> {" anotations "=>" Holiiii "," score "=>" 12 " 1 "," user "=>" # <User: 0x007f4674123f38> "}}"
錯誤圖片:
feedback.rb
class CreateFeedbacks < ActiveRecord::Migration[5.0]
def change
create_table :feedbacks do |t|
t.text :anotations
t.integer :score
t.references :gradework, foreign_key: true
t.references :user, foreign_key: true
t.timestamps
end
end
end
schema.rb
create_table "feedbacks", force: :cascade do |t|
t.text "anotations"
t.integer "score"
t.integer "gradework_id"
t.integer "user_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["gradework_id"], name: "index_feedbacks_on_gradework_id", using: :btree
t.index ["user_id"], name: "index_feedbacks_on_user_id", using: :btree
end
create_table "gradeworks", force: :cascade do |t|
t.string "name"
t.text "description"
t.string "status"
t.date "delivery_date"
t.date "begin_date"
t.time "hour"
t.text "locale"
t.string "semester"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "file"
end
feedbackController:
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>
我不知道什麼是錯的!
嘗試在視圖中設置'gradework'而不是'gradework_id'。你能分享你的看法嗎('new.html.erb')? – Gerry
現在添加視圖,這是查詢 「def self.users_gradework(id) joins(:users).select(」gradeworks.id,gradeworks.name,gradeworks.description「) .where({users:{ id:id}}) end「 –
關係是」has_and_belongs_to_many:gradeworks「 –