在模态(引导程序)中渲染表单,并使其在另一个控制器的视图中可用

时间:2016-03-25 02:32:11

标签: ruby-on-rails ruby ruby-on-rails-4

自从我使用Rails已经有一段时间了,我觉得我有点生疏了。有没有办法做到这一点?

我正在尝试创建一个消息传递功能,允许一个用户类型向另一个用户发送消息。我希望按钮显示在用户索引页面和用户显示页面上。单击该按钮时,将弹出一个模式,其中包含一个表单。

目前我制作了一个包含三列的消息模型:user_type1_iduser_type2_idmessage_body

我应该为这个新型号制作一个独特的控制器吗?或者我应该将逻辑放在user_type1的控制器中(将被发送的usertype)?

欢迎任何其他建议。

1 个答案:

答案 0 :(得分:1)

控制器主要用于从数据库获取数据并为视图做好准备。因此,如果您有user#indexuser#show个页面,则应使用UsersController表示与这些视图关联的所有逻辑,即使它使用其他模式。它确实是" Rails Way"。但是,如果您要创建message#index页面,则应创建关联的MessagesController

此外,在messages视图目录中创建部分并粘贴(例如,文件名为messages/_form.html.erb)没有任何问题。然后,只要您需要该表单(在整个站点中),您需要做的就是输入:

<%= render 'messages/form' %>