使用另一个模型的模态更新属性/创建新数据

时间:2013-07-11 18:05:30

标签: ruby-on-rails twitter-bootstrap controller modal-dialog

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

我有一个具有show动作的UsersController。在显示页面上有一个按钮,用于显示我想要创建新UserResult的模态。 UserResultsController有一个new和一个create方法,但是因为我在show页面上创建了modal,所以我无法将数据从UserResultsController传递给模态。

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

由于在我显示模态时永远不会调用此操作,因此我无法传递@some_data,因为我无法为UserResult模型创建有效的表单。如何从用户#show action?

调用“添加结果”按钮时确保调用此新项

顺便说一句,添加结果按钮如下:

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

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

1 个答案:

答案 0 :(得分:0)

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

has_many :UserResults

并在你的UserResults_Controller中添加:

belongs_to :User

我希望这就是你的意思。