我正在尝试将这个用户ID从我的视图发送到控制器,现在的事情是该值已正确传递到与该视图相对应的控制器(manage_users_controller),但没有被发送到另一个控制器(server_management_controller)
u.column :name => "Action" do |user|
#Works fine
link_to('Edit', edit_manage_user_path(user.id)) + " | " +
#This call does not send the value
link_to('Assign Servers', edit_server_management_path(user.id))
end
控制器动作(server_management_controller):
def show
if @uid == 1 #The value being sent from the view
@servers_grid = initialize_grid(Server)
@servers = Server.all
@name = current_user[:username]
@email = current_user[:email]
render 'index'
end
end
def edit
@uid = params[:id]
show
end
另一个值得一提的点是,当单击“分配服务器”链接时,该值会附加到URL中,即 xyz.com/server_management/1/edit
任何帮助将不胜感激。
- -解决了 - -
一个提示
该参数作为字符串出现,因此请确保不要立即将其视为整数。
传递给Rails Url帮助器的任何查询参数,如下所示:
edit_manage_user_path(anyname: user.id)
可以通过以下方式从被调用的操作中访问
params[:anyname]
anyname
当然只是一个例子。
如果参数已经是Rails为您生成的url的一部分,则很有可能是:id
。您可以通过执行进行查找rake routes
,这将为您提供在应用程序内配置的所有路由的完整列表。
这回答了你的问题了吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句