2013-02-15 100 views
0

我正在使用此file uploader example for Ruby on RailRuby on Rails,:通知

我在我的控制器中有這段代碼。我需要有一個:通知參數的地方,所以當文件被上傳的通知,將「你已經上傳的文件」,如果有那麼一個錯誤「出事了」

def create 
    p_attr=params[:upload] 
    p_attr[:arraydb] = params[:upload][:upload].first if params[:upload][:upload].class == Array 
    @upload = Upload.new(p_attr) 

    respond_to do |format| 
     if @upload.save 
     @upload.update_attributes(:user_id => current_user.id) 
     format.html { 
      render :json => [@upload.to_jq_upload].to_json, 
      :layout => false 

     } 

     format.json { render json: [@upload.to_jq_upload].to_json, status: :created, location: @upload } 
     else 

     format.html { render action 'new' } 
     format.json{ render json: {name:(@upload.upload_file_name).split(".").first ,error: @upload.errors.messages[:upload_file_name]}, :status =>422} 
     end 
    end 
    end 

所以,我需要的東西是這樣的:

format.html { redirect_to(@upload, :notice => "LALALALALALA") } 

,但我不知道如何整合:注意到了我的代碼提前

感謝。

+0

您的解決方案'format.html {redirect_to時(@upload,:通知=> 「LALALALALALA」)}'只是工作,究竟是什麼問題 ? – Khaled 2013-02-15 18:37:18

+0

我需要將此解決方案整合到def中,創建 – Tonja 2013-02-15 19:37:48

回答

0

這是你如何 '整合' 的通知,您的答覆

def create 
    p_attr=params[:upload] 
    p_attr[:arraydb] = params[:upload][:upload].first if params[:upload][:upload].class == Array 
    @upload = Upload.new(p_attr) 

    respond_to do |format| 
    if @upload.save 
     @upload.update_attributes(:user_id => current_user.id) 
     format.html { redirect_to(@upload, :notice => "Success") } 
     format.json { render json: [@upload.to_jq_upload].to_json, status: :created, location: @upload } 
    else 
     format.html { render action 'new', :notice => "Failed" } 
     format.json{ render json: {name:(@upload.upload_file_name).split(".").first ,error: @upload.errors.messages[:upload_file_name]}, :status =>422} 
    end 
    end 
end 
+0

它不會顯示通知。我應該在視圖中添加一些東西嗎?我猜不是...... – Tonja 2013-02-17 09:49:51

+0

你必須在你的視圖中添加一些東西,'flash'只是一個包含值的散列,通常你可以在佈局中查看'flash'內的值。你可以在這裏找到如何做到這一點http://guides.rubyonrails.org/action_controller_overview.html#the-flash – Khaled 2013-02-17 19:36:12

+0

我不得不以另一種方式「整合」,但謝謝=) – Tonja 2013-02-19 20:53:24

0

當你說'集成'時,你的意思是我如何在視圖或控制器方法中使用通知的值?

如果是這樣,您可以使用params [:notice]來獲取視圖中的值或重定向到的控制器。

+0

以在控制器中使用通知的值,而不用查看。我只是修改了def創建,那麼:notice參數將會在那裏,如redirect_to的示例 – Tonja 2013-02-15 19:40:36