目前开发的产品中有这样的一个需求,产品可以建立任意多的项目,每建立一个项目就要根据项目名称建立三个数据库表来保存该项目的人员,项目详细记录,还有项目中的分类。那么如果按照ROR的约定我就要创建很多很多的model与数据库相应的表建立关系,我的控制器还要识别出来关联的是那个model.
我在想是否可以动态创建model 动态让controoler识别用户要访问哪个项目 根据项目来指定相关的表的关联呢?
可能说的不够清楚 我来举一下实例
数据库表设计
项目表[Items]:
id name
记录 2 Ruby文档管理系统
程序需要根据 建立的项目记录自动生成三个表
------------------------------------------------
项目用户表[2_users]
id name
记录 1 emir
------------------------------------------------
项目分类表[2_classes]
id name
记录 1 RubyIO处理
2 Ruby语法
-------------------------------------------------
项目详细记录表[2_records]
id title dep 2_class_id 2_users_id
1 题目1 题目1描述 1 1
2 题目2 题目2描述 2 1
-------------------------------------------------
用户在登录时就要选择进入哪个项目,选择后将可以查看该项目下的所有的记录 并可以进行增删改
以我的理解 按照ror的约定 每建立一个项目我就要根据该项目id生成数据库表 动态生成model\controoler ,项目越多生成的物理文件越多
我目前所做的是 每建立一个项目 生成三个表 然后再动态生成三个model文件,在controller内根据用户选择的访问的项目id来决定指定关联哪个项目的model,思路是这样 但还没有完全实现 因为我刚刚接触ROR不久。
我想问大家是否有更好的办法来解决这个需求,不然以我这样的方式会变得很麻烦 还不如使用java or asp.net来的方便。
请大家指教一二
分享到:
- 2006-10-25 17:00
- 浏览 3675
- 评论(6)
- 论坛回复 / 浏览 (6 / 4939)
- 查看更多
相关推荐
通常,较新的Rails版本支持较新的MySQL版本,但旧版本的Rails可能需要降级MySQL或升级Rails以解决问题。 总结来说,解决Rails与MySQL连接问题涉及检查配置文件、安装和更新依赖、确保系统库完整、确认服务状态和...
Rails Recipes是一本针对Ruby on Rails框架的实用书籍,它收集了一系列高效解决问题的技巧和方法,也被称为“Rails开发者的宝典”。作者们通过分享自己的经验和见解,为Rails程序员提供了一本既有实际操作指导又有...
标题中的“rails飞信 gem plugin api 插件的问题解决方案”涉及到的是在Ruby on Rails框架下,使用特定的gem(一种Ruby的库或插件)来集成飞信API时遇到的问题及解决方法。飞信是中国移动推出的一种即时通讯服务,...
此外,书中还介绍了一些Rails中的高级概念,如Strong Parameters(强参数),它在Rails 4.0版本中引入,用于解决之前版本中的参数篡改问题,从而帮助开发者安全地处理外部提交的数据。 通过一系列的教学内容,包括...
解决Rails的中文乱码问题,需要对整个应用的编码环境进行统一和检查,确保每个环节都支持和识别UTF-8编码。同时,学习和理解Ruby的字符串处理机制以及Rails的编码设置是至关重要的。通过调试和测试,可以逐步定位并...
描述中提到的博文链接指向了一个ITEYE博客文章,尽管具体内容未提供,但通常这样的博客可能会包含Rails的使用技巧、最佳实践、新版本更新或者特定问题的解决方案。 标签 "源码" 暗示了可能涉及Rails的源代码分析或...
为了解决安全问题,Rails 4引入了Strong Parameters,强制开发者明确指定哪些参数可以被控制器的action使用。这有助于防止意外的未授权数据注入。 7. ** turbolinks** Rails 4默认包含了Turbolinks,这是一个...
总的来说,Ruby on Rails是一个强大的开发工具,它简化了Web应用的构建过程,让开发者可以更专注于创新和解决问题,而不是琐碎的配置和代码复写。通过深入学习和实践,你可以提升自己的技术水平,为未来的事业发展...
- 如何进行模块化拆分,以使得每个模块都是独立和专注于解决一个特定问题的。 - 如何在保持组件独立性的同时,确保它们能够协同工作,共同构成一个完整的应用。 7. 历史和演变: - 描述了组件化思想的历史,并...
10. **Rails社区与工具**:熟悉Rails社区的资源,如Stack Overflow、GitHub上的开源项目,以及RailsGuides和Rails API文档,这些都能帮助开发者解决问题和提升技能。 "Advanced Rails"这本书是进一步提升Rails技能...
在命令行界面(CMD)输入`gem install rails`,这个过程可能因为网络问题导致失败,提示找不到rails。此时,你可以使用HTTP代理服务器来完成安装,例如:`gem install rails -p http://218.56.64.2:80`。如果提示...
这本书通过一系列详细且实用的代码示例,为读者提供了快速解决问题的方案。 描述中提到,虽然书籍是英文版,但代码清晰,对于理解没有障碍。这表明书中包含了大量的实际代码片段,可以帮助读者更好地理解和应用...
它可能涵盖了技术选择的原因、遇到的问题及解决方案、性能优化、用户体验设计等方面,是整个开发工作的总结和理论支持。 总的来说,Ruby on Rails实例开发涉及到一系列技术,包括Ruby编程、Rails框架的使用、SQLite...
4. **解决Gem依赖问题**:在上述描述中遇到的问题是缺少`sqlite3`库,这是Rails与SQLite3数据库交互所必需的。在Windows环境下,安装SQLite3的Ruby绑定时可能会遇到编译错误。解决方法是下载预先编译好的版本,或者...
如果遇到这个问题,可以尝试以下解决方案: ```bash sudo ln -s /usr/local/mysql-5.6.26-osx10.8-x86_64/bin/mysql /usr/bin/mysql ``` 如果问题仍未解决,可以使用`install_name_tool`命令来更改动态链接库...
3. **社区活跃**:Rails拥有庞大的开发者社区,提供了丰富的插件和教程资源,遇到问题时可以迅速获得帮助。 4. **安全性**:Rails内置了一系列安全措施,比如防止SQL注入、XSS攻击等,有助于保护应用免受常见威胁。 ...
它显示了API响应的状态码、头部信息以及返回的数据,这有助于快速定位和解决问题。通过这种方式,开发者可以实时查看API的响应,无需编写额外的测试脚本或依赖其他复杂的测试工具。 在实际应用中,API Taster可以...
Rails 2.3.2 是一个古老的 Ruby on Rails 框架版本,它在 ...总之,通过本地安装 Gem 可以解决网络问题,但应留意旧版本的安全风险。对于 Rails 开发,保持框架和依赖的更新至关重要,以便利用最新的特性和安全修复。
2. **实战案例丰富**:书中包含大量真实世界中的案例研究,使读者能够在实践中学习如何解决实际问题,并将所学知识运用到自己的项目当中。 3. **深度剖析RSpec**:作为RSpec领域内的一位权威专家,Noel Rappin在书...