自从我使用Rails已经有一段时间了,我觉得我有点生疏了。有没有办法做到这一点?
我正在尝试创建一个消息传递功能,允许一个用户类型向另一个用户发送消息。我希望按钮显示在用户索引页面和用户显示页面上。单击该按钮时,将弹出一个模式,其中包含一个表单。
目前我制作了一个包含三列的消息模型:user_type1_id
,user_type2_id
和message_body
。
我应该为这个新型号制作一个独特的控制器吗?或者我应该将逻辑放在user_type1
的控制器中(将被发送的usertype
)?
欢迎任何其他建议。
答案 0 :(得分:1)
控制器主要用于从数据库获取数据并为视图做好准备。因此,如果您有user#index
和user#show
个页面,则应使用UsersController
表示与这些视图关联的所有逻辑,即使它使用其他模式。它确实是" Rails Way"。但是,如果您要创建message#index
页面,则应创建关联的MessagesController
。
此外,在messages
视图目录中创建部分并粘贴(例如,文件名为messages/_form.html.erb
)没有任何问题。然后,只要您需要该表单(在整个站点中),您需要做的就是输入:
<%= render 'messages/form' %>