0

我有两个模型:ProjectAccount.

Account我希望用户在创建时检查是否要创建新的Project,所以我有一个check_box_tag用于创建新项目的表格。

<%= 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

我需要在这些代码部分中添加什么才能使它们正常工作?

谢谢!

4

1 回答 1

0

有很多方法可以做到这一点——一种方法:

将 mattr_accessor (rails 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 可能存在问题,保存后未设置..必须检查一下)

于 2013-09-01T16:25:11.013 回答