Rails 关于前后台公用一个 model 的问题

d4rkl0rd · 2012年02月09日 · 最后由 flowerwrong 回复于 2014年07月05日 · 3875 次阅读

我想后台和前台公用一个 model,但是在后台的 view 中如果写

form_for @user 那么会提示找不到。 如果把 model 目录中的 user 拷贝到 admin/model/中,并且改为 class Admin::User....

就行,我不想要 admin/model,只保留前台的 model,该如何做呢?

form_for @user,如果 @user 是 User,应该就是用 users_path 阿。

把错误输出看看

我用的办法略显麻烦,还没发现刚好的办法....后台加 namespace:

form_for [:admin, @user]

@cqpx 后台肯定是加了 namespace 的,我是想后台用前台的 model,这样后台就不用再单独创建 model 了..

@Rei @user的确是前台的 model User,但是 form_for @user 却提示找不到,必须把这个 User 拷贝到后台才行

#3 楼 @d4rkl0rd 我平时就是这么操作的啊 form_for @user的路径会用user_path(@user),但是后台的路径应该用admin_user_path(@user)。 如果你没给前台的 user show 加路径的话,user_path(@user)就会出错。 form_for [:admin, @user]就会用admin_user_path(@user)

@cqpx 什么 user show? NND 再去试试..

先确认下”那么会提示找不到“是找不到什么……把错误输出

model 怎么会要两个?你说得是 controller 吧? @cqpx 给你得解是让你去不同得 controller... 这个和 model 没有关系...

#4 楼 @cqpx <%= form_for([:admin, @user]) do |f| %>这方法管用

需要 登录 后方可回复, 如果你还没有账号请 注册新账号