2013-09-01 63 views
0

我有兩種模式:ProjectAccount模型中運行操作複選框在視圖中選中

我希望用戶檢查,如果他想創建一個新的Account,創建Project或沒有,所以我有一個在窗體中創建新的項目。

<%= form_for @project, html: {multipart: true} do |f| %> 
    . 
    . 
    <%= check_box_tag('create_account_checkbox') %> Create new account 
    . 
    . 
<% end %> 

project.rb模型我有這樣的:

class Project < ActiveRecord::Base 
    after_create :create_account 
    . 
    . 
    . 
    def create_account 
    if #Here I need to add smth like `check_box.checked?` 
     Account.create(:name => name, ...and so on) 
    end 
    end 
end 

我需要添加到代碼的這些部分,使他們的工作?

謝謝!

回答

0

有許多方法可以做到這一點 - 一個辦法:

添加mattr_accessor(軌道4)到項目中,其中可以設置使用複選框:

class Project < ActiveRecord::Base 
    mattr_accessor :create_account 

    after_create :create_account if: :requested_account? 

    def requested_account? 
    create_account 
    end 

    ... 
end 

現在只是小心你的複選框返回將被解釋爲布爾值的東西。

(我沒有測試過這一點 - 有可能是與mattr_accessor上是未設置後save..gotta檢查問題)

+0

我使用Rails 3.2.7。有沒有辦法在那裏做到這一點? –

+0

搜索attr_accessor的API,如果這是一個新項目,您應該使用Rails 4! – MBHNYC

相關問題