Флажок Rails в форме решает создать действие в контроллере? - PullRequest
1 голос
/ 15 июня 2010

Я пытаюсь добавить поле выбора в базу моей формы создания, которая решает, будет ли действие запущено из контроллера ... если это имеет смысл?

В основном приложение создает проект в 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'

Любая идеячто я делаю не так?

Спасибо,

Дэнни

1 Ответ

1 голос
/ 15 июня 2010

Я бы использовал

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
...