Ich benutze gem 'firebase'
und erhalte Daten von Firebase. Ich kann create,show
Daten aber Problem mit update action
. hier ist mein Code user.rb
Dateiundefinierte Methode `Modellname 'für # <Hash: 0x007efcfb0c19e0>
require 'firebase'
class User < ActiveRecord::Base
FIREBASE = Firebase::Client.new("url" ,"secret")
def self.all
response = FIREBASE.get('users')
response.body.present? ? response.body : {}
end
def self.find(id)
FIREBASE.get("https://stackoverflow.com/users/#{id}").body
end
def self.update(id, data)
response = FIREBASE.update("https://stackoverflow.com/users/#{id}", data)
return response.success?
end
end
und users_controller.rb Datei:
class UsersController < ApplicationController
respond_to :html, :json
def edit
@user = User.find("#{params[:id]}")
end
def update
@user = User.find(params[:id])
User.update("#{@user[0]}", user_params)
respond_with @user
end
private
def user_params
params.require(:user).permit(:name)
end
end
und edit.html.erb Datei:
<%= form_for @user do |f| %>
<%= f.text_field :name %>
<%= f.submit %>
<% end %>
hier ist meine Fehlerprotokolle:
Started GET "https://stackoverflow.com/users/-KOKEM82melqy/edit" for 180.211.159.218 at 2016-08-04 12:19:58 +0000
Cannot render console from 180.211.159.218! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by UsersController#edit as HTML
Parameters: {"id"=>"-KOKEM82melqy3"}
Rendered users/edit.html.erb within layouts/application (5.2ms)
Completed 500 Internal Server Error in 40ms (ActiveRecord: 0.0ms)
ActionView::Template::Error (undefined method `model_name' for #<Hash:0x007efcfb7c6ab0>):
1: <h1>Editing user</h1>
2: <%= form_for @user do |f| %>
3: <div class="field">
4: <%= f.label :name %><br>
5: <%= f.text_field :name %>
app/views/users/edit.html.erb:2:in `_app_views_users_edit_html_erb__2046577153275023374_69812507750700'
ich versuchte a viele Male, aber noting Arbeit. irgendein Vorschlag ? Wenn Sie weitere Informationen benötigen, lassen Sie es mich bitte wissen. Vielen Dank im Voraus.
Wie lautet die Zeilennummer des Fehlers? Vielleicht erscheint die Zeile "user_params"? – Ursus
Ich habe user_params nicht in Frage hinzugefügt, ich werde es in Kürze hinzufügen – Mezbah
Ja, in Update-Methode – Ursus