使用respond_to协助找到正确的操作,以便在rails上的ruby中呈现PDF

时间:2010-05-05 01:47:26

标签: ruby-on-rails pdf pdf-generation princely

我正在使用Princely插件试用Prince,它应该将具有.pdf的模板格式化为PDF生成器。

这是我的控制器:

class TodoController < ApplicationController

  def show_date
    @date = Date.today

    @campaigns = Campaign.all

    @contacts = Contact.all

    @contacts.each do |contact|

    end

    respond_to do |format|
      format.html
      format.pdf do
        render :pdf => "filename", :stylesheets => ["application", "prince"], :layout => "pdf"
      end
    end
  end

end

我更改了routes.db以包含以下内容:

map.connect ':controller/:action.:format'

  map.todo "todo/today",
            :controller => "todo",
            :action => "show_date"

我的预期行为是当我输入todo / today.pdf时,它会尝试执行show_date,但会根据princely插件进行渲染。

现在,它说无法找到行动。我需要做些什么来解决这个问题?

1 个答案:

答案 0 :(得分:0)

您需要移动map.connect行下方的默认路线(第一个map.todo)。

routes.rb匹配第一条规则并寻找today动作。