2013-02-12 52 views
0

您好我想從遠程導軌形式提取幾個參數。有問題的參數是event_id。從軌道提取params形式

在我的控制器中我也做了以下內容:

def create 
    @availability = Availability.new(params[:availability]) 
    @exclude = Availability.where(:event_id => params[:event_id]).select(:user_id).pluck(:user_id) 
    @players = User.where('team_id = ? and id NOT IN (?)', current_user[:team_id], @exclude).all 
    @event = Event.where('id = ?', params[:event_id]) 

    respond_to do |format| 
    if @availability.save 
     format.html { redirect_to @availability, :notice => 'Availability was successfully created.' } 
     format.js { @availabilities = Availability.all } 
    else 
     format.html { render :action => "new" } 
     format.json { render :json => @availability.errors, :status => :unprocessable_entity } 
    end 
    end 
end 

而且動作要申請的火:

%li= button_to 'Add', availabilities_path(:availability => {:team_id => @event.team_id, :user_id => user, :event_id => @event.id }), :remote => true, :method => :post, :class => 'button tiny success', :disable_with => 'Add' 

問題是爲什麼是模型中未檢測事項標識?

Started POST "/availabilities?availability%5Bevent_id%5D=75&availability%5Bteam_id%5D=1&availability%5Buser_id%5D=54" for 124.168.81.54 at 2013-02-12 08:48:42 +0100 
Processing by AvailabilitiesController#create as JS 
    Parameters: {"authenticity_token"=>"sebpDgAPPmK8q9024vrhN4eEQT7vZLr+pa5XdSicAMc=", "availability"=>{"event_id"=>"75", "team_id"=>"1", "user_id"=>"54"}} 
    User Load (1.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = 38 LIMIT 1 
    (0.8ms) SELECT user_id, user_id FROM "availabilities" WHERE "availabilities"."event_id" IS NULL 
    User Load (1.3ms) SELECT "users".* FROM "users" WHERE (team_id = 1 and id NOT IN (NULL)) 
    (0.4ms) BEGIN 
    Availability Exists (0.9ms) SELECT 1 AS one FROM "availabilities" WHERE ("availabilities"."user_id" = 54 AND "availabilities"."event_id" = 75) LIMIT 1 
    SQL (1.8ms) INSERT INTO "availabilities" ("available", "comment", "created_at", "event_id", "team_id", "unique_id", "updated_at", "user_id") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id" [["available", nil], ["comment", nil], ["created_at", Tue, 12 Feb 2013 18:48:42 EST +11:00], ["event_id", 75], ["team_id", 1], ["unique_id", nil], ["updated_at", Tue, 12 Feb 2013 18:48:42 EST +11:00], ["user_id", 54]] 
    (19.4ms) COMMIT 
    Availability Load (0.9ms) SELECT "availabilities".* FROM "availabilities" 
    Event Load (0.9ms) SELECT "events".* FROM "events" WHERE (id = NULL) 
    Rendered events/_progress_bar.html.haml (8.6ms) 
    Rendered availabilities/create.js.erb (11.1ms) 
Completed 500 Internal Server Error in 100ms 

回答

4

因爲event_idparams[:availability][:event_id],不params[:event_id]

我format.js我需要把在@events
+0

,還是將返回爲一個全球性的? – 2013-02-12 08:14:21

+0

IIRC,你可以在模板中訪問'params' – 2013-02-12 08:16:59