2017-06-04 2 views
0

Ich habe den folgenden Code:ActiveModel :: ForbiddenAttributesError in UrlsController # erstellen

class UrlsController < ApplicationController 
def new 
@shortened_url = Url.new 
end 
def create 
@shortened_url = Url.new(params[:url]) 
if @shortened_url.save 
    flash[:shortened_id] = @shortened_url.id 
    redirect_to new_url_url 
else 
    render :action => "new" 
    end 
end 

def show 
    @shortened_url = Url.find(params[:id]) 
    redirect_to @shortened_url.url 
    end 

end 

Ich erhalte die Störung, die ich weiß, ist nicht auf die erforderlichen Parameter und erlauben zusammen. Kann jemand sagen, wie die Methode geschrieben werden muss? Tanks im Voraus.

dies ist das Modell:

class Url < ActiveRecord::Base 
    validates :url, :presence => true 
end 

der Fehler ist, wenn das Formular absenden. Ich bekomme ActiveModel :: ForbiddenAttributesError in UrlsController #

+0

Das ist alles, was ich in der Steuerung, was andere Details haben soll ich bieten? – user1564732

Antwort

0

schaffen es die Verwendung starker Parameter benötigt

class UrlsController < ApplicationController 
def new 
@shortened_url = Url.new 
end 
def create 
@shortened_url = Url.new(shortened_url) 
if @shortened_url.save 
    flash[:shortened_id] = @shortened_url.id 
    redirect_to new_url_url 
else 
    render :action => "new" 
end 
end 

def show 
@shortened_url = Url.find(params[:id]) 
redirect_to @shortened_url.url 
end 

private 

def shortened_url 
    params.require(:url).permit! 
end 

end 
Verwandte Themen