Ich bin völlig ratlos! Ich benutze decent_exposure gem zum ersten Mal und ich nehme an, dass das Problem darin liegt. Das ist der Link https://github.com/hashrocket/decent_exposure Wenn ich mein Formular abschicke, spart es nichts. Alle meine Tabelle in der Datenbank sind nur voll von leeren Feldern. Das ist meine FormWie speichern Sie ein Objekt nach dem Senden mit decent_exposure?
<%= simple_form_for book do |f| %>
<%= f.input :name %>
<%= f.input :author %>
<%= f.input_field :annotation %>
<%= f.button :submit %>
<% end %>
Das ist mein Controller ist:
class BooksController < ApplicationController
before_filter :is_admin?
before_filter :authenticate_user!
expose(:book, finder_parameter: :id, params: :book_params)
#I've tried both expose(:book) and expose(:books)
def create
if book.save
redirect_to(book)
else
render :new
end
end
def update
if book.save
redirect_to(book)
else
render :edit
end
end
def show
end
def is_admin?
if current_user.admin?
true
else
render :text => 'Registrate'
end
end
def book_params
params.require(:book).permit(:name, :author, :annotation)
end
end
Es gibt einen Fehler
param fehlt oder der Wert leer ist: Buch
def book_params params.require(:book).permit(:name, :author, :anotation) end
Wenn ich versuche, die Methode expose (: book) ohne params und book_params auszugeben, scheint es in Ordnung zu sein, aber nach dem Absenden des Formulars sind alle Felder gleich Null. Was mache ich falsch? Gibt es einen Fehler bei der Definition von Params? Ich habe viele Male viele verschiedene Varianten gedacht und getestet, und ich kann mir nicht vorstellen, wo das Problem liegt. Jede Hilfe wäre willkommen!
Ich habe es gefunden! Es gab "attributes:: book_params" anstelle von "params:: book_params" – Jakov