Web应用程序设计问题 - 第3版

时间:2011-05-28 20:52:52

标签: ruby-on-rails-3

这是我开发的第一个网络应用程序,我有一些设计问题,我有一些关于RoR3的书,但我似乎没有找到我的问题的答案。 我的应用程序基于Ruby on rails 3

我不是在这里寻找详细的答案,如果你能指出一个我可以了解的主题名称,可以回答我的问题,比如“名字资源”,“隐藏的字段”..... < / p>

我的问题: 1-如何在View A和控制器B之间发送信息。例如,当我点击创建员工时,我正在查看“公司”我正在为员工调用“新视图”,所以我现在处于不同的视角,如何我可以将新员工的行为传递给公司的身份证吗?既然我现在处于不同的视野?我不想使用嵌套资源 在不同的控制器/视图之间发送信息的不同方法有哪些

2- ruby​​网址:我可以通过网址查看我模型中的项目:http://localhost:3000/Companies/1 我不希望网址包含项目的索引,每个公司都有一个名称,我想在网址中显示此名称,例如http://localhost:3000/Companies/myCompany 如何更改导轨的url结构?

2 个答案:

答案 0 :(得分:1)

对于您的第一个问题,您可以通过链接传递参数(假设您的视图可以访问员工和公司变量):

修改:这应该有效:

= link_to "create employee", :controller => "employees", :action => "new", :company_id => @company.id 

Employees控制器中:

def new
  company_id = params[:company_id]
  # check that company_id is not nil before doing stuff with it
end

我不确定为什么这样做会忽略任何额外的参数:

= link_to "create employee", new_employee_path, :company_id => @company.id

对于您的第二个问题,this正是您要找的。

答案 1 :(得分:0)

  1. 在创建员工链接时将公司ID作为参数传递。
  2.   

    在控制器中,接收类似的参数 def new   company_id = params [:company_id] .... 端

    1. 要使用某些字符串而不是id,请使用gem&#39; friendly_id&#39; 确保您的参考字符串应该是唯一的。