2013-03-28 24 views
0

我在先進的道歉這是我第一次發佈一個問題。 這是我的錯誤,我不明白,知道如何正確,這是導致該錯誤一切正常,直到這個Rails錯誤不明白newb期待tASSOC

c中的代碼:/Sites/helpdesk/app/controllers/tickets_controller.rb:99:語法錯誤,意想不到的 '=',期望tASSOC redirect_to的:行動=> '節目',:ID =閃光[:TICKET_ID] ^

#action 
def ticket_action 
    @act = Action.new(
     "ticket_id" => flash[:ticket_id], 
     "description" => params[:description]['description'], 
     "user_id" => params[:actUser]['user_id'] 
    ) 

    id @act.save 
    flash[:notice] = 'Action was successfully added' 
    redirect_to :action => 'show', :id = flash[:ticket_id] 
    end 
+2

':id = flash [:ticket_id]'應該是':id => flash [:ticket_id]''。 –

+0

Zach非常感謝。就是這樣我覺得很愚蠢。現在非常感謝你,我的問題已經得到解答,我如何處理這個問題並將其標記爲已回答? – rubyNOOB

+0

你可以讓@ZachKemp發表他的評論作爲anwser,所以你可以接受(也可以upvote)它 – pjam

回答

1

unexpected '=', expecting tASSOC redirect_to :action => 'show', :id = flash[:ticket_id]

tASSOC=>符號,所以紅寶石預計=>,而不是= 只需更換它在該行:

redirect_to :action => 'show', :id => flash[:ticket_id] 

即相當於:

redirect_to { :action => 'show', :id => flash[:ticket_id] } 

紅寶石讓你省略{}當最後一個參數是Hash

id @act.save 

應該是

if @act.save 
+0

謝謝你的解釋,當我更改id @ act.save時,如果我得到一個錯誤。替換= with =>修復錯誤。 – rubyNOOB

+0

如果你想測試記錄是否保存,你應該使用'if'。你需要在你的'redirect_to'行之後添加一個'end' – tight