0

我正在尝试使用引导模式创建数据。这就是我所拥有的。

我有一个用户控制器,它有一个显示动作。在显示页面上有一个按钮来显示我想创建一个新的 UserResult 的模式。UserResultsController 有一个 new 和一个 create 方法,但是因为我在显示页面上创建了模态,所以我无法将数据从 UserResultsController 传递给模态。

def new
  @some_data = params[:some_data] # coming from users#show
  @user_result = current_user.user_results.new
end

由于在显示模式时不会调用此操作,因此我无法传递 @some_data ,这就是为什么我无法为 UserResult 模型创建有效表单的原因。当从 users#show 操作调用“添加结果”按钮时,如何确保调用这个新按钮?

顺便添加结果按钮如下:

link_to 'Add Result', new_user_result_path(some_data: :some_data), class: 'btn btn-primary btn-mini', data: { toggle: 'modal', target: '#add-result-modal' }, remote: true

快速编辑:当我尝试在 users#show 操作中没有 @user_result 的情况下启动显示页面时,我收到以下错误。undefined method model_name for NilClass:Class

4

1 回答 1

0

如果您的意思是您的 users_controller 无权访问 UserResults_Controller 那么您必须定义它们之间的关系。
在您的用户模型中,您必须添加:

has_many :UserResults

在你 UserResults_Controller 添加:

belongs_to :User

我希望这就是你的意思。

于 2013-07-11T19:41:38.837 回答