Ich bin neu in Rails und ich habe ein Problem mit den Ergebnissen einer Active Record-Abfrage.Entfernen Sie ein Element aus dem Ergebnis einer Active Record-Abfrage
Ich habe eine Klassenmethode (this_week), die 3 Rezept Datensätze aus meiner Datenbank zurückgibt. Ich möchte einen der zurückgegebenen Datensätze aus der Abfrage (nicht der Datenbank) löschen, während die anderen 2 Datensätze beibehalten.
Als ich in meiner Ansicht für die Index-Seite bin, und versuche, eine der Datensätze zu löschen, der zurückgegeben wird ich die folgende Fehlermeldung erhalten: „Routing-Fehler Keine Route treffer [GET]„/ Lomo% 20saltado“
Wie kann ich diesen Teil der zurückgegebenen Abfrage löschen?
Jede Hilfe, die sehr geschätzt werden würde zur Verfügung gestellt werden könnte.
Modell
class LineItem < ActiveRecord::Base
belongs_to :recipe
belongs_to :recipe_collection
def self.this_week
@line_items = LineItem.order("RANDOM()").limit(3)
@line_items.map{ |line_item| line_item.recipe.title }
end
end
Ansicht
<%= @line_items.this_week[0] %> <%=link_to 'Remove', @line_items.this_week.delete_at(0) %> <br>
-Controller
class LineItemsController < ApplicationController
include UserRecipe #Error: Couldn't find recipe with id/off: undefined meth: Set_rec_collect
before_action :set_recipe_collection, only: [:create]
before_action :set_line_item, only: [:show, :edit, :update, :destroy, :last_eaten]
def index
@line_items = LineItem.where(nil)
@line_items = LineItem.all
@line_items.this_week
end
Routen
Rails.application.routes.draw do
resources :line_items
resources :recipe_collections
devise_for :users
resources :recipes
root "recipes#index"
end
Nach dem obigen Code hinzufügen, bekam ich die Fehlermeldung: „/ home/gregb/workspace/Sandbox/rezept_box/app/views/line_items/index.html.erb: 49: Syntaxfehler, unerwartet '(', erwartet ')' ... (link_to 'Entfernen', @line_items (remove_item: params [: remove_i ... ... /home/gregb/workspace/Sandbox/recipe_box/app/views/line_items/index.html.erb:49: sy ntax error, unexpected ')', erwartet keyword_end ... arams [: remove_item] .to_i + 1)); @ output_buffer.safe_append = '...^" –