1

我正在尝试将一个选择框添加到我的创建表单的基础上,它决定一个动作是否从控制器运行......如果这有任何意义吗?

基本上,每当创建新项目时,应用程序都会在 FreeagentCentral 中创建一个项目:

def create
    @company = Company.find(params[:kase][:company_id])
    @kase = @company.kases.create!(params[:kase])

    respond_to do |format|
        params[:send_to_freeagent] ? @kase.create_freeagent_project(current_user)

        #flash[:notice] = 'Case was successfully created.'
        flash[:notice] = fading_flash_message("Case was successfully created.", 5)

        format.html { redirect_to(@kase) }
        format.xml  { render :xml => @kase, :status => :created, :location => @kase }
    end
  end

在我的表格中,我有:

<%= check_box_tag :send_to_freeagent, 1 %> Create project in Freeagent?

我想要发生的是,如果选中了选择框,则项目将发送到 Freeagent。如果不是,则该案例只会像往常一样在本地创建,但不会发送 Freeagent 数据。

如果我使用上面的代码,我会收到一个异常捕获错误:

SyntaxError in KasesController#new
controllers/kases_controller.rb:114: syntax error, unexpected '\n'

知道我做错了什么吗?

谢谢,

丹尼

4

1 回答 1

1

我会用

def create
   @company = Company.find(params[:kase][:company_id])
   @kase = @company.kases.create!(params[:kase])

   @kase.create_freeagent_project(current_user) if params[:send_to_freeagent].to_bool

   respond_to do |format|       
      # ...
   end
end
于 2010-06-14T21:46:37.453 回答