在 ruby​​ on rails 中将参数从视图传递到控制器

Posted

技术标签:

【中文标题】在 ruby​​ on rails 中将参数从视图传递到控制器【英文标题】:Passing params from view to controller in ruby on rails 【发布时间】:2013-07-15 17:28:03 【问题描述】:

这是我的视图代码

_navigation.html.erb

<% if User.current.allowed_to?(:view_repository, @project) -%>
    <div style="float: left; width: auto; padding-right: 1%">  
    <%= button_to_function l(:gerar_build_project), remote_function(:action => 'exec_client', :controller => 'GerarVersao')%>
    </div>
|
<% end -%>

exec_client 是我在控制器端的功能。如下代码:

gerar_versao_controller.rb

def exec_client(branch)
hostname = 'localhost'
port = 8522
s = TCPSocket.open(hostname, port)
s.puts "MSG_RV"
s.puts branch.to_s
s.close
end

此代码不起作用。我收到此错误:

ArgumentError(参数数量错误(0 代表 1)):

问题是:如何将参数分支传递给我的控制器函数?

【问题讨论】:

【参考方案1】:

我认为你应该使用 :with 参数 看这个例子 http://apidock.com/rails/ActionView/Helpers/PrototypeHelper/remote_function#529-Example

【讨论】:

它不起作用。你没有我的例子吗?我尝试使用它,但是当我单击按钮时,什么也没有发生。

以上是关于在 ruby​​ on rails 中将参数从视图传递到控制器的主要内容,如果未能解决你的问题,请参考以下文章

在 ruby​​ on rails 中无法从表单参数中检索数据

Ruby on rails 参数出现在 url

Ruby on Rails - 从视图调用控制器方法

在 Ruby on Rails 3.2+ 中流式传输部分视图

在 Ruby on Rails 项目中将“关注点”存储在哪里? (轨道 5.2+)

如何在 Rails 视图中将 Ruby 变量传递给 JavaScript 函数?