Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 管理面板在ruby on rails中不工作_Ruby On Rails - Fatal编程技术网

Ruby on rails 管理面板在ruby on rails中不工作

Ruby on rails 管理面板在ruby on rails中不工作,ruby-on-rails,Ruby On Rails,目前我正在学习rails,所以我很抱歉我的知识不好,可能还有一个愚蠢的问题。:) 我在一个名为pages的控制器中创建了一个简单的索引页。 在index.html.erb中,我有一个表单,用户可以注册@newsletter中存储的新闻稿,我还有一个名为@title的变量,其中页面的标题存储在数据库中 我想创建一个管理面板,只提供给网站的所有者,他可以访问和显示所有的时事通讯,而且我希望所有者有可能改变标题 如果我创建另一个控制器,我可以实现吗? 您有什么建议,为管理员和页面保留相同的控制器,或者

目前我正在学习rails,所以我很抱歉我的知识不好,可能还有一个愚蠢的问题。:)

我在一个名为pages的控制器中创建了一个简单的索引页。 在index.html.erb中,我有一个表单,用户可以注册@newsletter中存储的新闻稿,我还有一个名为@title的变量,其中页面的标题存储在数据库中

我想创建一个管理面板,只提供给网站的所有者,他可以访问和显示所有的时事通讯,而且我希望所有者有可能改变标题

如果我创建另一个控制器,我可以实现吗? 您有什么建议,为管理员和页面保留相同的控制器,或者为管理员区域创建新的控制器

还有一个问题,我什么时候需要创建模型?每当我需要数据库中的新表时,不是吗?
我应该为每个控制器配备一个型号,或者我可以拥有多个型号和一个控制器?

页面和时事通讯之间是否有任何联系

如果时事通讯与页面不存在关系,则可以将时事通讯表单放置在局部中,并在需要的地方呈现

这可能是您的db模式:

“Page.rb”模型包含您需要的字段,如:title:string、slug:string(我更喜欢友好的\u id)、body:text

“newsletteEmail.rb”模型,包含您需要的字段:email\u address:string、name:string(可选)、subscription\u status:boolean(用于跟踪联合国订阅)

每个模型都需要一个控制器,以便您在管理中跟踪

对于前端,您必须设置一个类似“匹配:/:slug”=>“public#page”的路由,在该路由中,您可以像@page=page.friendly.find(:slug)一样捕获页面,然后分配@title变量@title=@page.title


希望这对您有所帮助。

对于您的管理控制器页面\u controller.rb和新闻稿\u emails\u controller.rb,您可以使用一个before\u操作:检查\u admin\u权限并在应用程序\u controller.rb中定义

def检查管理权限 使用_http _basic('Administration')do |用户名、密码验证_或_请求| 用户名=='admin'&&password=='password' 结束
结束

谁将登录您的站点?管理员和用户还是管理员?@peeg151-只是管理员。他们目前有登录吗?这只是一个指甲公司的演示网站,用户不登录,登录。管理面板将类似于www.mydomain.com/admin,此时未对管理区域实施登录。