Ans*_*nss 3 model-view-controller ruby-on-rails
我试图将此用户 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
Run Code Online (Sandbox Code Playgroud)
控制器操作(服务器管理控制器):
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
Run Code Online (Sandbox Code Playgroud)
另一个值得一提的点是,当单击“分配服务器”链接时,该值会附加到 URL 中,即xyz.com/server_management/1/edit
任何帮助将不胜感激。
- -解决了 - -
一点提示
该参数以字符串形式出现,因此请确保不要立即将其视为整数。
传递到 Rails Url Helper 的任何查询参数,如下所示:
edit_manage_user_path(anyname: user.id)
Run Code Online (Sandbox Code Playgroud)
可以通过以下方式从被调用的操作中访问
params[:anyname]
Run Code Online (Sandbox Code Playgroud)
anyname当然只是一个例子。
如果该参数已经是 Rails 为您生成的 url 的一部分,则它最有可能是:id. 您可以通过执行来查找rake routes,这将为您提供应用程序中配置的所有路由的完整列表。
这回答了你的问题了吗?
| 归档时间: |
|
| 查看次数: |
2409 次 |
| 最近记录: |