1

My view:

<div class = "btn btn-link">
  <%= link_to 'Generate Rating Set', {
    :controller => "co_view_rating", 
    :action => "generate_rating_set_co_view" } %>
</div>

This links to a action in my controller which creates a new record. How can I pass a variable via this method in my view to the action in my controller. The variable would be user input via a text field.

4

3 回答 3

1

您应该使用该POST方法通过表单发送变量。

<%= form_tag('/co_view_rating/generate_rating_set_co_view') do %>
    <%= text_field_tag 'my_variable' %>
    <div class="btn btn-link">
        <%= submit_tag "Generate Rating Set" %>
    </div>
<% end %>

在您的控制器操作中:

def generate_rating_set_co_view
    my_variable = params[:my_variable]
end

您可以在此处找到有关 form_tags 和输入类型的更多文档:http: //api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html

于 2013-02-01T23:02:13.610 回答
0

适应@Sparda 所说的内容,使用带有帖子的字段,并传递一个 hidden_​​field (如果你希望它被隐藏)或一个 input_tag 或 text_field

于 2013-02-02T01:34:49.517 回答
0

如果用户输入来自文本字段,您可能需要一个表单。

<%= form_tag {:controller => "co_view_rating", :action => "generate_rating_set_co_view"}, :method => :get do |f| %>
  <%= text_field_tag :awesome_text_field, "default value" %>
  <div class="btn btn-link">
    <%= submit_tag "Generate Rating Set" %>
  </div>
<% end %>

然后,文本输入将在 params 哈希中作为params[:awesome_text_field].

于 2013-02-01T23:01:16.047 回答