将文本字段值传递给Rails控制器

时间:2018-04-06 07:49:40

标签: ruby-on-rails ruby

我对Rails相当新,我坚持将文本字段值传递给Rails Controller方法。感谢任何帮助,下面是我的代码..

查看代码:

点击下面的按钮,我希望能够将用户名发送到Controller方法..

<%= link_to "My button", admin_user_creds_path(user_config),
        method: :test_user, role: "button" %>

用户名在文本字段中输入:

<%= form_for [:admin, user_config] do |f| %>
  <td class="js-editable-text rf-table__td rf-table__col--username">
  <div class="preview js-preview show"><%= user_config.username %></div>
  <div class="js-input hide"><%= f.text_field :username, class: "form-control" %></div>
</td>

我的路线档案:

post "/user_configurations/:id", to: "user_configurations#test_user", as: "user_creds"

我的控制器:

def test_user
  username = user_params[:username]
end
def user_params
  params.require(:user_configurations).permit(:username)
end

1 个答案:

答案 0 :(得分:0)

您需要在表单中添加提交按钮,而不是使用link_to帮助程序。

<%= form_for [:admin, user_config] do |f| %>
  <td class="js-editable-text rf-table__td rf-table__col--username">
  <div class="preview js-preview show"><%= user_config.username %></div>
  <div class="js-input hide"><%= f.text_field :username, class: "form-control" %></div>
  <%= f.submit "My button" %>
</td>

另请注意method帮助器中的link_to选项是getpost HTTP方法,但不是控制器操作